마이크로 데이터, RDFa 또는 JSON-LD 적절하거나 최상의 사용입니까?
어떤 형식이 "최고"인지 궁금합니다. Schema.org, Microdata 및 RDFa는 구현하기가 약간 어렵습니다. 유효성 검사를 중단하고 문서에 입력하는 데 상당한 노력이 필요할 수 있습니다.
마침내 JSON-LD는 구조화 된 데이터를 구현하는 더 나은 방법입니다. 하지만 작동합니까? (적어도 Google은) 어떤 수준의 지원이 있습니까?
Schema.org는 다른 어휘와 마찬가지로 다양한 형태로 사용될 수있는 어휘입니다. http://schema.org/ 웹 사이트 에는 Microdata 및 RDF 구문 RDFa 및 JSON-LD를 사용하는 예제 가 있지만 사용할 수있는 유일한 구문은 아닙니다. 예를 들어 Turtle 또는 RDF / XML 과 같은 다른 RDF 구문과 함께 사용할 수 있습니다.
최상의 구문 은 없습니다 . 그들 모두는 장단점이 있습니다. 예를 들어 Microdata와 RDFa의 차이점에 대한 내 대답을 참조하십시오 . 참고 서로 다른 구문 (어휘)를 사용하여 동일한 문서에.
이제 특정 소비자를 염두에두고 있다면 해당 문서를 참조해야합니다. 그러나 구문 지원은왔다 갔다하며 지원할 수있는 모든 것이 반드시 문서화되는 것은 아니며 문서화 된 모든 것이 반드시 작동하는 것은 아닙니다.
Google의 경우 리치 스 니펫에 관심이있을 것입니다 . 그들의 리치 스 니펫에 대한 문서는 마이크로 데이터, 마이크로 포맷과 RDFa를 언급. 그러나 연결된 모든 예제가 Schema.org 어휘를 사용하는 것은 아니지만 이전 Data-vocabulary.org 또는 Microformats를 사용합니다 (Schema.org 또는 Data-vocabulary.org와 같은 어휘를 Microformats와 함께 사용할 수 없으므로). 또한 해당 페이지에 나열되지 않은 일부 리치 스 니펫 (예 : 사이트 링크 검색 창) 도 JSON-LD 구문을 권장합니다.
일반적인 조언 : 검색 엔진은 일반적으로 숨겨진 메타 데이터보다 가시적 인 콘텐츠를 선호합니다. 예를 들어, 숨겨진 메타 데이터로 키워드를 사용하면 작성자가 자신의 문서가 실제와 다른 것에 대해 쉽게 주장 할 수 있습니다 (검색 엔진을 속이려고하거나 작성자가 두 위치 에서 콘텐츠를 업데이트하는 것을 잊었 기 때문 ). 이 JSON-LD,의 경우처럼 따라서 콘텐츠와 메타 데이터를 결합 해제 할 수 현재 검색 엔진이 숨겨진 메타 데이터와이 같은 문제에 대한 (아마도!) 리드. (실제로 처리하는 검색 엔진은 Stack Overflow에서 주제를 벗어난 질문입니다.)
메타 데이터를 콘텐츠 (예 : RDFa)와 결합하는 또 다른 장점은 모든 것이 RDF 일 뿐이므로 JSON-LD, Turtle 등에서 동일한 정보를 쉽고 자동으로 생성 할 수 있다는 것입니다. RDFa를 구문 분석하고 원하는 형식으로 변환 한 다음 의미가있는 경우 포함 ( script
) 또는 링크 ( rel
-포함 alternate
)하면됩니다.
하지만 예, RDFa를 추가하는 것은 JSON-LD Blob을 추가하는 것보다 더 복잡한 경우가 많습니다. 기존 마크 업에 맞게 조정해야하기 때문입니다. (그러나 실수하지 않는 한 "유효성 검사를 중단"해서는 안됩니다.)
사이의 선 마이크로 데이터 , RDFa를 , 및 JSON-LD는 실제로 현재 매우 흐릿하고 여전히 널리 허용되지 있다는 것을 사실상 세 사이. 이것은 지금 기다려야 할 것입니다. 아마 2 년 이상.
한편 Microdata는 언급 한 것처럼 Schema.org로 라벨을 지정해서는 안됩니다.이 두 가지는 서로 다르기 때문입니다. Schema.org는 어휘이므로 Microdata, RDFa 및 JSON-LD에 사용할 수 있습니다.
사용 Schema.org을 은 AS 어휘 및 사용하여 JSON-LD를 으로 데이터 표현은 아마도 때문에 그들에 대한 일반적인 두 가지 측면에서 가장 기대 쌍 :
- 사람이 쉽게 읽을 수 있습니다. 과
- 기계 판독 가능한 경량
그러나 그럼에도 불구 하고이 예제 와 같이 둘 사이에는 여전히 연결이 끊어졌습니다 .
JSON-LD 지원과 관련하여 Bing, Google, Yahoo! 및 Yandex 는 schema.org의 사용을 인정하므로이 예제 와 같이 지원한다고해도 안전합니다 .
2017 업데이트
Google은 지난 2 ~ 3 년 동안 JSON-LD-schema.org를 적극적으로 홍보 해 왔습니다.
Google이 JSON-LD 사용을 선호하는 것 같지만 모든 사용 사례에 대해 구현하지는 않았습니다!
Google은 더 많은 마크 업 기반 기능에 JSON-LD 지원을 추가하는 중입니다. 지금까지 JSON-LD는 모든 지식 정보 기능, 사이트 링크 검색 창, 이벤트 리치 스 니펫 및 레시피 리치 스 니펫에 지원됩니다. Google은 이러한 기능에 JSON-LD를 사용하는 것이 좋습니다. 나머지 리치 스 니펫 유형 및 탐색 경로에 대해서는 마이크로 데이터 또는 RDFa를 사용하는 것이 좋습니다.
Google은 지식 정보 (회사 및 사람)의 구조화 된 데이터 SEO에 대한 참조 예제로 JSON-LD를 사용합니다. https://developers.google.com/structured-data/customize/overview를 참조 하십시오.
개인적으로 내 사이트에 JSON-LD와 Microdata의 조합을 사용합니다 (당분간).
JSON-LD를 통해 제공 한 정보가 검색 엔진과 관련이 있는지 확인할 수있는 다른 수단이 있다고 말하고 싶습니다 (예 : 페이지를 확인하는 것이 실제로 말하는 내용에 대해 이야기하는 것입니다).
(답변 업데이트 중!)
"인기"에 대해서는 이 질문 / 답변을 참조하십시오 .
현재 마이크로 데이터가 가장 인기가 있습니다. 3,400 만 개의 도메인에서 563 만 (~ 17 % )은 RDFa (0,9 백만)의 "콘텐츠 마크 업"(전문 용어 마크 업 사용 ), 마이크로 데이터 (250 만)를 사용합니다. 또는 Microformats 및 절반 미만이 분리 된 의미 설명자를 사용 하며 JSON-LD로 가장 인기있는 212 만 (6 %)을 기록했습니다.
추신 : 일반적으로 동일한 도메인의 페이지에는 동일한 템플릿과 기타 지역 권한 규칙 시행이 있기 때문에 "도메인 별 통계"(페이지 별 통계 대신)를 선호합니다.
"의미를 표현하는 도메인"(7,75 백만)의 세계에서 통계 프로필은 다음과 같습니다.
- 73 % 마크 업 의미
- 27 % 분리 된 의미
- (... "separated + markup"혼합으로 교차는 0이 될 수 있습니다 ...)
2017 년의 경험 법칙
사용 마크 업 의미와 마이크로 데이터 와, 그 후에 당신이 기계에 더 많은 무언가를 표현해야하는 경우, 사용 JSON-LD를 .
사용 마크 업 의미 가 가장 인기가 있기 때문에, 그리고 검증 가능한 / 감사 동시에 인간과 기계에 의한 것입니다 만족 표시하기 때문이다.
중요 : Microdata, RDFa (W3C 표준) 및 JSON-LD (W3C 표준)는 RDF로 (쉽게) 변환 될 수 있으므로 이러한 모든 형식이 호환됩니다.
추신 : HTML 테이블의 경우 W3C의 tabular-metadata 도 참조하십시오 . HTML이 아닌 열린 리소스의 경우 CSV 파일 로 RDF 호환 W3C의 테이블 형식 데이터 모델 및 / 또는 마찰없는 데이터 / 사양을 사용 합니다.
처음부터 JSON-LD가 갈 길이 될 것입니다. JSON-LD의 주요 제작자 중 한 명인 Manu Sporny 가 참여하도록하겠습니다 .
더 나은 웹 API에 대한 욕구는 시맨틱 웹이 아니라 JSON-LD를 생성하게 된 동기입니다. 시맨틱 웹을 현실로 만들고 싶다면 그 사례를 그만두고 실제로 기계를 더 똑똑하게 만들거나 사람들이 유용한 방식으로 데이터를 게시하도록 돕는 것과 같이 더 유용한 일을하는 데 시간을 할애하십시오.
JSON-LD는 유용하고 구현하기 쉬운 방식으로 데이터를 게시하는 것입니다.
it’s based on technology that most web developers use today.
참고URL : https://stackoverflow.com/questions/26906367/microdata-rdfa-or-json-ld-appropriate-or-best-usage
'Development Tip' 카테고리의 다른 글
jQuery Uncaught TypeError : 정의되지 않은 'fn'속성 (익명 함수)을 읽을 수 없습니다. (0) | 2020.12.02 |
---|---|
세분화 오류 : OS X에서 11 (0) | 2020.12.01 |
Angular-POST 업로드 파일 (0) | 2020.12.01 |
redux 연결 구성 요소는 언제 다시 렌더링할지 어떻게 알 수 있습니까? (0) | 2020.12.01 |
C ++의 헤더 파일에 함수 정의 작성 (0) | 2020.12.01 |