मुझे विश्वास नहीं है कि यह स्कीमा और Google (या कम से कम संरचित डेटा टूल) के बीच कैसे हो सकता है। मैं गलत हो सकता था, लेकिन मुझे लगता है कि समस्या यह है कि jobTitle
और worksFor
दोनों person
पर लागू होते हैं। इसलिए Google उन दोनों विशेषताओं को व्यक्ति से संबंधित करेगा लेकिन आवश्यक रूप से दो विशेषताओं को एक-दूसरे से संबंधित नहीं करेगा।
यह भी हो सकता है कि मुझे अपने दृष्टिकोण में कुछ याद आ रहा है और यह वास्तव में संभव है। मैं अपना जवाब कम से कम आपको मार्गदर्शन करने के लिए या सही दिशा में बेहतर अनुभव वाले किसी व्यक्ति को पोस्ट करना चाहता था (या मेरे संदेह की पुष्टि)। मेरे पास दो दृष्टिकोण हैं, मेरा मानना है कि माइक्रोडाटा दृष्टिकोण उपकरण में सही दिखाई देता है लेकिन गलत है। मुझे लगता है कि JSON-LD दृष्टिकोण सही है लेकिन संरचित डेटा टूल में ठीक से प्रदर्शित नहीं होता है।
माइक्रोडेटा दृष्टिकोण
आप एक हद तक डोम संशोधित कर सकते हैं, तो आप मेटा टैग घोंसला करने के लिए एक संगठन व्यक्ति के भीतर इस्तेमाल कर सकते हैं।
<div itemscope itemtype="http://schema.org/Person" id="person1">
<p><!--list of jobs-->
<span>Job 1</span>,
<span>Job 2</span>, and
<span>Job 3</span>
</p>
<p><!--list of places worked for-->
<span itemscope itemprop="worksFor" itemtype="http://schema.org/Organization">
<span itemprop="name">Company A</span>
<span itemscope itemprop="employee" itemref="person1" itemtype="http://schema.org/Person">
<meta itemprop="jobTitle" content="Job 1">
</span>
</span> and
<span itemscope itemprop="worksFor" itemtype="http://schema.org/Organization">
<span itemprop="name">Company B</span>
<span itemscope itemprop="employee" itemref="person1" itemtype="http://schema.org/Person">
<meta itemprop="jobTitle" content="Job 2">
<meta itemprop="jobTitle" content="Job 3">
</span>
</span>
</p>
</div>
कौन देता है:
के रूप में मुझे लगता है कि आप चाहते हैं कि हालांकि संरचित डेटा उपकरण परिणाम दिखाता है, मुझे विश्वास है डेटा वास्तव में क्योंकि कर्मचारी वास्तव में आईडी से जुड़ी नहीं है संबंधित हो जाएगा नहीं कर रहा हूँ
@type = Person
worksFor
@type = Organization
name = Company A
employee
@type = Person
jobTitle = Job 1
worksFor
@type = Organization
name = Company B
employee
@type = Person
jobTitle = Job 2
jobTitle = Job 3
मैं Person
>Organization
>Employee
(Person
)>JobTitle
घोंसले बनाने के इस संपर्क किया। मैंने मेटा टैग के साथ कर्मचारी के लिए एक खाली अवधि जोड़ा ताकि आप एक ही फ्रंट एंड शैलियों को बनाए रख सकें।
इस दृष्टिकोण के साथ मेरी चिंता यह है कि प्रत्येक Organization
के तहत Employee
माता-पिता Person
से डिस्कनेक्ट हो जाएगा। मैंने माता-पिता पर एक आईडी का उपयोग किया और उस Employee
में उस मूल आईडी को इंगित करने के लिए आइटमफ्रफ़ का उपयोग किया लेकिन मुझे यकीन नहीं है कि यह वास्तव में समर्थित है या हो सकता है कि यह घोंसला जा रहा हो (संदिग्ध) हो।
JSON-LD दृष्टिकोण
मुझे लगता है कि JSON-LD दृष्टिकोण ठीक से संगठन के व्यक्ति से संबंधित है, लेकिन अंत में गूगल के उपकरण व्यक्ति मूल रूप से आप एक ही परिणाम देने हेतु वापस jobTitle
भेज दिए जाएंगे। यद्यपि डेटा को जोड़ने के लिए एक बेहतर तरीका हो सकता है।
<script type="application/ld+json">
{
"@context": {
"@vocab": "http://schema.org/",
"id": "@id",
"graph": "@graph",
"type": "@type"
},
"graph" : [
{
"type": "Person",
"id": "Person1",
"name": "John Smith",
"worksFor" : [
{
"id": "CompanyA"
},
{
"id": "CompanyB"
}
]
},
{
"type": "Organization",
"id": "CompanyA",
"name": "Company A",
"employees": [
{
"@id" : "Person1",
"jobTitle" : ["Job 1", "Job 2"]
}
]
},
{
"type": "Organization",
"id": "CompanyB",
"name": "Company B",
"employees": [
{
"@id" : "Person1",
"jobTitle" : "Job 3"
}
]
}
]
}
</script>
जो दुर्भाग्य से प्रस्तुत करती है:
@type : http://www.example.com/Person
@id : http://www.example.com/Person1
name : John Smith
jobTitle : Job 1
jobTitle : Job 2
jobTitle : Job 3
worksFor
@type : http://www.example.com/Organization
@id : http://www.example.com/CompanyA
name : Company A
worksFor
@type : http://www.example.com/Organization
@id : http://www.example.com/CompanyB
name : Company B
संरचित डेटा उपकरण एक तरीका है कि सही लग रहा है और एक है कि गलत लग रहा है लेकिन सही लगता है में ऊपर एक विकल्प प्रस्तुत करता है, यह कहने के लिए कि किस तरह Google है कठिन है डेटा से संबंधित वास्तव में। यह भी हो सकता है कि स्कीमा/डेटा उपकरण अधिक बुनियादी स्तर पर संबंध मान लेता है, जहां आम तौर पर किसी के पास कई संगठनों में एकाधिक नौकरी शीर्षक नहीं होंगे .. लेकिन मैं बस उस बिंदु पर अनुमान लगा रहा हूं।
निष्कर्ष है - मुझे लगता है समस्या यह है कि Organization
केवल एक person
रूप worksFor
के तहत सूचीबद्ध किया जा सकता है। jobTitle
केवल person
के तहत हो सकता है और Organization
के तहत नहीं हो सकता है। Organization
के तहत employee
के रूप में संबंधित हो सकता है, लेकिन को jobTitle
पर वापस person
पर अज्ञात रूप से संरचित डेटा टूल में धक्का देने के लिए लगता है। संरचित डेटा टूल को अतीत में Google दस्तावेज़ों के खिलाफ कुछ त्रुटियां हैं, इसलिए मुझे यकीन नहीं है कि आप इससे जो कुछ देखते हैं उस पर 100% पर भरोसा नहीं कर सकते हैं।
मैं आपको जेएसओएन-एलडी में ऐसा करने के तरीके दिखा सकता हूं। यदि आप माइक्रोडाटा चाहते हैं, तो आपको इसे परिवर्तित करने की आवश्यकता होगी। क्या यह स्वीकार्य होगा? –
@JayGray यह बहुत अच्छा होगा अगर आप इसे एक शॉट दे सकते हैं! इस बिंदु पर मेरे लिए कुछ भी बेहतर नहीं है, मैं वास्तव में यहां फंस गया हूं। – Steven