-
my customization about SEO may give an idea for future UNA developments:
https://www.hekim.net/doktor/uzm-dr-funda-orakdogen-dahiliye-ic-hastaliklari-istanbul-o54a2074
here we have the doctors name, specialty, location of work place
all characters are automatically translated to standard URL characters, capital letters to normal, blanks and others to -.
modrewrite takes this url and converts to standard UNA URL like:
/page.php?i=view-organizations-profile&id=569
if there are changes in name etc this doesn't effect the last part -054a2074- organization id=54 author id=2074, so links are never broken.and schema code is auto inserted to page of course
For posts (blogs)
https://www.hekim.net/doktor/uzm-dr-funda-orakdogen-dahiliye-ic-hastaliklari-istanbul-o54a2074/bilgi/hashimoto-hastaligi-bl150/this has the doctor's name, specialty, work location, blogs title on the URL.
like .../doktor/title-name-specialty-location-orgid-authid/article/title-blogid
the good things are:
o54a2074 is the organization and author id and bl150 is the post id
mod rewrite constructs the url only relying on these ids
if the user changes any thing in the title, yes title will change but the ids are same so there will be no problem on the links.
and the auto created schema code for the article is:
<script type="application/ld+json">
{"@context": "https://schema.org",
"@type": "MedicalWebPage",
"dateCreated": "2019-05-22 14:36",
"datePublished": "2019-05-22 14:36",
"dateModified": "2019-06-20T17:16:27+0000",
"keywords": "hashimoto,hipotiroidi,haşimototiroidi,haşimoto,tiroid,haşimato",
"image":"https://www.hekim.net/doktor/storage.php?o=bx_posts_photos_resized&f=hsjngy4dlzpn62gvbpsq3mr8dwn8rwdp.jpg",
"about": {
"@type": "MedicalCondition",
"description": "Hashimoto hastalığı ya da halk arasındaki ismiyle tiroid bezi iltihabı bağışıklık sisteminin tiroid bezine karşı oto-antikor üreterek tiroid bezine saldırmasıyla oluşan bir hastalıktır. Hashimoto yaygın olarak görülen bir tiroid hastalığıdır.Hastalığın erken dönemlerinde genellikle bir şikayet olmaz ve check-up tetkikleri veya rutin sağlık taramalarında tesadüfen tespit edilir.Tiroid hormonları gebelik oluşumu, devamı ve fetal gelişim için gereklidir.Gebelik planlayan kadınların mutlaka tiroid hormonlarına baktırması gerekir."
},
"aspect": [
"Diagnosis",
"Treatment"
],
"Audience": "https://schema.org/Patient",
"specialty": "https://schema.org/Endocrine","author":{"@type": "Physician",
"name": ["Uzm. Dr. Funda Orakdöğen"],
"medicalSpecialty": "Endocrine",
"url": "https://www.hekim.net/doktor/uzm-dr-funda-orakdogen-istanbul-o54a2074",
"image": ["https://www.hekim.net/doktor/storage.php?o=bx_organizations_pics_resized&f=p56pu9gexe4pdfnqahyrrgxskvdspfdd.png"],
"email": "funda.orakdogen@gmail.com",
"telephone": "+902165771600",
"address": {
"@type": "PostalAddress",
"streetAddress": "ATAŞEHİR FLORENCE NİGHTİNGALE ",
"addressLocality": "KÜÇÜKBAKKALKÖY",
"addressRegion": "İstanbul",
"addressCountry": "Türkiye"
},
"description":"DİYABET ,HİPERTANSİYON,METABOLİK SENDROM,TİROİD HASTALIKLARI ,GERİATRİ,BESLENME SORUNLARI,MALNÜTRİSYON,SİNDİRİM SİSTEMİ SORUNLARI ,KARACİĞER YAĞLANMASI",
"geo": {
"@type": "GeoCoordinates",
"latitude": "40.984855",
"longitude": "29.1067953"
},
"hasMap": "hhttps://goo.gl/maps/9mN3VA8nbJiGXXcs6",
"paymentAccepted": [ "cash", "credit card" ],
"openingHours": "Mo-Sa 09:00-18:00",
"sameAs" : ["https://www.instagram.com/f.orakdogen"]}
}
</script>-
Martin, I didn't add/modify anything besides page.php.
I am not a professional programmer, but a medical doctor.
I was afraid of the problems that the updates will bring if I modify the UNA system, so I decided to write a completely independent layer over UNA.
This layer lies between UNA and browser, meaning after UNA finishes it's all processing while it sends the page to the browser, my program captures it, modifies as needed and sends to browser.
This method also gave me to insert anything to the page by putting some placeholders and replacing them at the end with the desired code.
As a result it is working without any problem.
I believe professionals at UNA will create a way better solution. But if anybody wants to examine or develop further that code (a few hundred lines) I may publish here. -
Andrew I used nginx and its' rewriting system.
The additional server load is a fraction of a second and not that worrying.
And for sure code may be further optimized. I did it in between patient visits and after work :) -
Thank you Cem for great idea - https://github.com/unaio/una/issues/1091