masalibの日記

システム開発、運用と猫の写真ブログです

健康系サイトの構造化データの調査

健康系サイトをシステムを担当しているのですが昨年のgoogle先生検索エンジンのアップデートで
軒並み順位が下がってしまいました。
いろいろ試しているのですが、なかなか上がらない状態。
ちなみにちゃんとした先生に執筆をお願いしているので
本来は下がらないはず。。。。

SEOに有効と言われている構造化データが
健康系に有効という記事があったので試すことになった

www.suzukikenichi.com

ただあまり情報がなくて困っています
メモを記載します

構造化データとは

Google先生のロボットに正しく理解してもらうように設定したデータのこと。
HTMLのタグに記載するMirocdata方式とRDFa方式とJSON-LD方式がある。

Mirocdata方式とRDFa方式はHTMLのタグに対して記述する方式

<body itemscope itemtype="http://schema.org/MedicalWebPage">
  <link itemprop="audience" href="http://schema.org/Patient" />
  <link itemprop="specialty" href="http://schema.org/Cardiovascular" />
  <meta itemprop="lastReviewed" content="2011-09-14"/>
  <h1>About
    <span itemprop="about" itemscope itemtype="http://schema.org/MedicalCondition">
      <span itemprop="name">High Blood Pressure</span>
      (<span itemprop="name">hypertension</span>)</span>
  </h1>
  ...

JSON-LD方式はscriptタグの中にまとめて書きます。HTML内どこに置いてもOK

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "MedicalWebPage",
  "about": {
    "@type": "MedicalCondition",
    "name": [
      "High Blood Pressure",
      "hypertension"
    ]
  },
    ...

HTMLに手を加えるのはデザインなどが崩れる恐れがあったので
JSON-LD方式にした

医療系の構造化データとは

  • MedicalCondition: 疾患や症状に関する情報
  • Drug: 医薬品に関する情報
  • MedicalGuideline: 治療方針
  • MedicalWebPage: 健康や医療に関するトピックを扱うウェブページ
  • MedicalScholarlyArticle: 医学に関する学術系出版物の記録や摘要、全文

MedicalEntityには上記のようなサブタイプがあります。
うちのサイトはMedicalWebPageになる

このタイプはWebPageというタイプを継承しているのでWebPageの属性が使える

つまりWebPageのmainEntityOfPageの下の属性は使えるということになる

<script type="application/ld+json">
    {"@context":"http://schema.org"
    ,"@type":"WebPage"
    ,"mainEntityOfPage":
    {"@type":"WebPage"
        ,"@id":"記事 URL"
    }
    ,"fileFormat":"text/html"
    ,"isAccessibleForFree":true
    ,"name":"サイト名"
    ,"url":"サイトのトップページ"
    ,"image":"イメージが登録されている場合ここにいれる"
    ,"thumbnailUrl":"サムネイル画像が登録されている場合ここにいれる"
    ,"description":"メタディスクリプションと同じ内容"
    ,"keywords":"キーワードが登録されている場合"
    ,"encoding":{"@type":"MediaObject","encodingFormat":"utf-8"}
    ,"datePublished":"2019-02-08T18:11:11Z"
    ,"author":
    {
        "@type": "Organization",
        "name": "組織(自社名)"
        ,"address":"Japan"
        ,"image":"サイトのロゴ"
    }
    ,"publisher": {
        "@type": "Person",
        "name": "XXXX先生"
        ,"address":"Japan"
        ,"image":"先生の画像"
    }
    ,"copyrightHolder":
    {
        "@type": "Organization",
        "name": "組織(自社名)"
        ,"address":"Japan"
        ,"image":"サイトのロゴ"
    }
    ,"copyrightYear":"2019"
    ,"inLanguage":["ja"]
}
</script>

医療(Medical)系の記事を書く場合は
"@type":"WebPage"の部分が"@type": "MedicalWebPage"になる

困っているところ

MedicalWebPageの属性を記述する。
ここが自分が専門じゃないので困っているところ

specialtyの属性

見ての通り専門なのですが
種類がめっちゃある・・・
自動翻訳です

https:/schema.org/Anesthesia : 麻酔
https:/schema.org/Cardiovascular : 心血管
https:/schema.org/CommunityHealth : コミュニティヘルス
https:/schema.org/Dentistry : 歯科
https:/schema.org/Dermatologic : 皮膚科
https:/schema.org/Dermatology : 皮膚科
https:/schema.org/DietNutrition : ダイエット栄養
https:/schema.org/Emergency : 緊急
https:/schema.org/Endocrine : 内分泌
https:/schema.org/Gastroenterologic : 消化器科
https:/schema.org/Genetic : 遺伝的
https:/schema.org/Geriatric : 老人
https:/schema.org/Gynecologic : 婦人科
https:/schema.org/Hematologic : 血液学
https:/schema.org/Infectious : 感染性
https:/schema.org/LaboratoryScience : ラボ科学
https:/schema.org/Midwifery : 助産
https:/schema.org/Musculoskeletal : 筋骨格系
https:/schema.org/Neurologic : 神経学的
https:/schema.org/Nursing : 看護
https:/schema.org/Obstetric : 産科
https:/schema.org/Oncologic : 腫瘍学的
https:/schema.org/Optometric : 検眼
https:/schema.org/Otolaryngologic : 耳鼻咽喉科
https:/schema.org/Pathology : 病理
https:/schema.org/Pediatric : 小児科
https:/schema.org/PharmacySpecialty : 薬局専門
https:/schema.org/Physiotherapy : 理学療法
https:/schema.org/PlasticSurgery : 形成外科
https:/schema.org/Podiatric : 足病
https:/schema.org/PrimaryCare : 一次ケア
https:/schema.org/Psychiatric : 精神科
https:/schema.org/PublicHealth : 公衆衛生
https:/schema.org/Pulmonary  : 肺
https:/schema.org/Radiography : ラジオグラフィ
https:/schema.org/Renal : 腎臓
https:/schema.org/RespiratoryTherapy  : 呼吸療法
https:/schema.org/Rheumatologic : リウマチ
https:/schema.org/SpeechPathology : 音声病理
https:/schema.org/Surgical : 外科的
https:/schema.org/Toxicologic : 毒物学的
https:/schema.org/Urologic : 泌尿器科

自分ではもちろん判断できないので先生に聞くしかない・・・

audienceの属性

対象者らしいだけど・・・
ヘルスケアサービスを受けている人なので患者でOKなのか

"audience": "http://schema.org/Patient"

他の正規URLがあるのかわからず・・・

aboutの属性

typeとnameを設定できるが
これまたtypeが多い・・・マジでやめろ!!と言いたくなる

MedicalEntity(医療)
    ├AnatomicalStructure(解剖学的構造)
    │ ├Bone(骨)
    │ ├BrainStructure(脳構造)
    │ ├Joint(関節)
    │ ├Ligament(靭帯)
    │ ├Muscle(筋肉)
    │ ├Nerve(神経)
    │ └Vessel(血管)
    │   ├Artery(動脈)
    │   ├LymphaticVessel(リンパ管)
    │   └Vein(静脈)
    ├AnatomicalSystem(解剖学的システム)
    ├MedicalCause(医学的原因)
    ├MedicalCondition(病状)
    │ └InfectiousDisease(感染症)
    ├MedicalContraindication(医学的禁忌)
    ├MedicalDevice(医療機器)
    ├MedicalGuideline(医療ガイドライン)
    │ ├MedicalGuidelineContraindication(禁忌)
    │ └MedicalGuidelineRecommendation(勧告)
    ├MedicalIndication(医学的適応)
    │ ├ApprovedIndication(承認)
    │ ├PreventionIndication(予防)
    │ └TreatmentIndication(治療)
    ├MedicalIntangible(医療無形)
    │ ├DDxElement(DDx要素)
    │ ├DoseSchedule(投与スケジュール)
    │ │ ├MaximumDoseSchedule(最大)
    │ │ ├RecommendedDoseSchedule(推奨)
    │ │ └ReportedDoseSchedule(報告)
    │ ├DrugCost(薬剤費)
    │ ├DrugLegalStatus(薬法的地位)
    │ ├DrugStrength(医療品強)
    │ ├MedicalCode(メディカルコード)
    │ ├MedicalConditionStage(病状ステージ)
    │ └MedicalEnumeration(医療列挙)
    │   ├DrugCostCategory(薬剤費カテゴリ)
    │   ├DrugPregnancyCategory(医薬品妊娠カテゴリ)
    │   ├DrugPrescriptionStatus(薬剤処方状況)
    │   ├InfectiousAgentClass(感染症病原体クラス)
    │   ├MedicalAudience(医療の対象読者)
    │   ├MedicalDevicePurpose(医療機器の目的)
    │   ├MedicalEvidenceLevel(医学的証拠のレベル)
    │   ├MedicalImagingTechnique(メディカルイメージング技術)
    │   ├MedicalObservationalStudyDesign(医療観測研究デザイン)
    │   ├MedicalProcedureType(医療処置の種類)
    │   ├MedicalSpecialty(医療専門)
    │   ├MedicalStudyStatus(医療研究の状況)
    │   ├MedicalTrialDesign(医療試験デザイン)
    │   ├MedicineSystem(医学システム)
    │   ├PhysicalActivityCategory(身体活動カテゴリ)
    │   └PhysicalExam(身体検査)
    ├MedicalProcedure(医療処置)
    │ ├DiagnosticProcedure(診断法)
    │ ├PalliativeProcedure(緩和手順)
    │ └TherapeuticProcedure(治療手順)
    ├MedicalRiskEstimator(医療のリスク推定)
    │ ├MedicalRiskCalculator(計算)
    │ └MedicalRiskScore(スコア)
    ├MedicalRiskFactor(医療のリスクファクター)
    ├MedicalSignOrSymptom(医療徴候または症状)
    │ ├MedicalSign(徴候)
    │ └MedicalSymptom(症状)
    ├MedicalStudy(医学的研究)
    │ ├MedicalObservationalStudy(観察)
    │ └MedicalTrial(裁判)
    ├MedicalTest(医学的検査)
    │ ├BloodTest(血液検査)
    │ ├DiagnosticProcedure(診断法)
    │ ├ImagingTest(イメージングテスト)
    │ ├MedicalTestPanel(メディカルテストパネル)
    │ └PathologyTest(病理試験)
    ├MedicalTherapy(薬物療法)
    │ ├DietarySupplement(栄養補助食品)
    │ ├Drug(薬)
    │ ├DrugClass(薬物クラス)
    │ ├LifestyleModification(ライフスタイル変更)
    │ │ ├Diet(ダイエット)
    │ │ └PhysicalActivity(身体活動)
    │ │   └ExercisePlan(運動計画)
    │ ├PalliativeProcedure(緩和手順)
    │ ├PhysicalTherapy(理学療法)
    │ ├PsychologicalTreatment(心理療法)
    │ ├RadiationTherapy(放射線療法)
    │ └TherapeuticProcedure(治療手順)
    └SuperficialAnatomy(表面的な解剖学)

自分ではもちろん判断できないので先生に聞くしかない・・・
数が多すぎwwww

Schemeのサンプルだと
MedicalCondition(病状)だった。これでいいと思うが判断できない

nameは何なるのか??
サンプルだと

   "name": [
      "High Blood Pressure",
      "hypertension"
    ]

症状を記載するっぽい・・・
High Blood Pressureは高血圧
hypertensionは高血圧症

aspectの属性

アスペクト??アスペクト比の友達??医療系におけるアスペクトの意味がわからん

サンプルデータだと
Diagnosis:診断
Treatment:処理
が設定されていた

サンプル以外の項目があるのかわからず・・・・

drugの属性

薬の属性です。うちのサイトは薬を使うわけではないのでこの部分は設定しない

感想

今後、健康系のサイトを構築するなら構造化データを考慮した設計が必要だね
後から追加とか「ないわー」とか後輩に言われそう

参考サイト

サンプル https://health-lifesci.schema.org/MedicalWebPage

http://imagination-i.net/2013/09/23/%E6%A7%8B%E9%80%A0%E5%8C%96%E3%83%87%E3%83%BC%E3%82%BFschema-org%E3%81%A7%E3%83%9E%E3%83%BC%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E5%8F%AF%E8%83%BD%E3%81%AA%E3%83%87%E3%83%BC%E3%82%BF%E7%A8%AE/

https://qiita.com/narumana/items/b66969b80cce848b2ddf

関係ないけどうちの猫

こたつでくつろいている「きなこちゃん」

3歳に見えないぐらいかわいい。天使だ!!