Open Graph ad alanı bildirimi: XMLNS ile HTML mi yoksa head önek mi?


129

Open Graph ad alanlarının en iyi şekilde nasıl uygulanacağına dair çelişkili bilgiler gördüm. Özellikle, Açık Grafik web sitesi birkaç farklı yöntem kullanır ve Facebook Açık Grafik örnekleri başka yöntemler kullanır.

Open Graph web sitesi örneği (HTML öneki özelliğini kullanarak):

<html prefix="og: http://ogp.me/ns#">

Open Graph web sitesi kaynak kodu (HTML XMLNS özelliğini kullanarak):

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">

Facebook Open Graph belgeleri (HEAD önek özelliğini kullanarak):

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">

Facebook Open Graph belgeleri # 2 (HTML XMLNS özelliğini kullanarak):

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" 
      xmlns:fb="https://www.facebook.com/2008/fbml">

Önerilen yöntem nedir veya önemli değil mi?


9
Sizin için doğru cevabı bulmak için FB'de içten takip ediyorum.
Simon Cross

7
@SimonCross, yıllar sonra (Kasım / 2017) hala cevabı bekliyoruz ...;)
Helmut Granda

Yanıtlar:


73

Hepsi eşdeğerdir ve hepsi çalışacaktır.

Yeni önerilen yol olduğu ve daha az karakter içerdiği için öneki kullanın.

Tüm dokümantasyonumuzu önek olarak güncelleyeceğim.


4
Herhangi bir şeyi neden kullandığınızı açıklayabilir misiniz ? Bu beyanı bir kenara bıraksam nasıl olur? bunu yaparsam herhangi bir şey bozulur mu?
andrewrk

3
Şu anda hiçbir şey bozulmayacak, ancak varsayılanlara güvenmek, açık sözlü olabileceğiniz zaman nadiren iyi bir fikirdir. Eğer 2 yıl sonra varsayılanları değiştirirsek, siteniz bozulacaktır. Ayrıca, ad alanlarınızı doğrudan bildirirseniz, yalnızca Facebook'a değil diğer ayrıştırıcılara da yardımcı olur.
Paul Tarjan

1
Paul, belgelerin Kasım ayından beri güncellenmediğini fark ettim. Öngörülebilir gelecekte her iki yol da tüm mevcut tarayıcılar tarafından desteklenecekse, neden yeni yol en iyisidir? Eğer destek orada değilse (kullanıcı aracıları, ayrıştırıcılar vb. Arasında) yeni bir şeyi benimsemek, ikisi arasında gerçek bir fark olmadıkça gereksiz bir risk gibi görünür. Bunu söyleyen herhangi bir kaynak bulamadım.
AndrewF

3
@PaulTarjan İşte ! Bunun bir örneği var xmlns. Ayrıca, gerektiği prefixüzerinde kullanılabilir htmlveya headetiket? Her iki şekilde de iyi olur mu? Hangisi önerilir?
its_me

9
Oh, bu dokümanlar eski. Üstteki sarı şey öyle söylüyor. Onlara çok atıfta bulunulduğu için dokunmak istemedik. Put prefixüzerinde head. Her ikisinde de çalışır, ancak etiketlere daha yakın olması daha iyidir.
Paul Tarjan

4

@Paul Tarjan'ın kafada önek kullanma cevabını takip etmeyi denedim. Ancak bazı Internet Explorer 8 sorunu yaşadım . Sonunda fb ad alanı için hala xmlns yolunu kullanıyorum:

<!DOCTYPE HTML>
<html xmlns:fb="http://ogp.me/ns/fb#">
  <head prefix="og: http://ogp.me/ns# object: http://ogp.me/ns/object#">

3

Fark etmez bile. RDFa Core Initial Context , og yaygın olarak kullanılan bir kelime öneki olarak kabul edilir:

RDFa kullanıcıları , HTML kodundaki önekleri tanımlama zorunluluğu olmadan bu önekleri kullanabilir . Önekleri aynı listesi olarak ta JSON-LD için tanımlanmış JSON-LD Bağlam URI'sında http://www.w3.org/2013/json-ld-context/rdfa11; JSON-LD kullanıcıları @context, aynı önekleri kullanmak için bu URI ile anahtarı bir kısaltma olarak kullanabilir.

Netlik için vurgu eklendi.

Bu nedenle, HTML belgelerinize bir ad alanı eklemenize gerek yoktur. Daha fazla bilgi burada .


2
<html xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns# fb:
http://www.facebook.com/2008/fbml"> <head>

Doğrulamanın en iyi yolu var.


1

prefix / xmlns özniteliği kısa eli tanımlamak için kullanışlıdır. rdf, xml kökenindendir, bu nedenle xmlns gösteriminin doctype ayrıntısından bağımsız çalışması beklenmelidir. rdfa, html'yi http://www.w3.org/TR/rdfa-in-html/#extensions-to-the-html5-syntax tarafından verilen önek dahil özniteliklerle genişletir Ancak, bu http: // dev'e bağlı kalmayı gerektirir . w3.org/html5/rdfa/rdfa-module.html Ayrıca, rel = "profile" için araç desteği de burada bahsedildiği gibi henüz beklenmektedir. O zamana kadar, seçim, eski belge türlerini kullanmak veya rdf'yi manuel olarak yerleştirmek arasında: doğrulama amacıyla veya doğrulayıcı ve bu tür araçların yakalanmasını bekleyin. Beyan yapmak için doğru yer, kısa el gösteriminin kullanılacağı her yerde atası olan herhangi bir öğe açma etiketidir. Özellikle og öneki durumunda, RDFa Çekirdeği http://www.w3.org/2011/rdfa-context/rdfa-1.1.html başlangıç ​​bağlamında önceden tanımlanmıştır, bu nedenle daha yeni belge türleri için bunları tamamen atlamak sorun değildir. Ve özellikle html5 için RDFa başlangıç ​​bağlamı http://www.w3.org/2011/rdfa-context/html-rdfa-1.1 yalnızca daha önce bahsedilen RDFa ilk bağlamından sonra yüklenir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.