ആർട്ടിക്കിൾ ഡയറക്ടറി
വെബ്സൈറ്റ് പ്രസിദ്ധീകരണം ഓട്ടോമേറ്റ് ചെയ്യുന്ന 90% ആളുകളും സ്വന്തം വെബ്സൈറ്റിന്റെ അധികാരം നിശബ്ദമായി നശിപ്പിക്കുകയാണ്.
ഞാൻ അതിശയോക്തി പറയുകയല്ല. കഴിഞ്ഞ ദിവസം എന്റെ ഒരു സുഹൃത്ത് ഒരു പൂർണ്ണ ഓട്ടോമേറ്റഡ് ഉള്ളടക്ക വിതരണ സംവിധാനം സ്ഥാപിച്ചിട്ടുണ്ടെന്നും, നൂറുകണക്കിന് ലേഖനങ്ങൾ REST API വഴി എല്ലാ ദിവസവും വേർഡ്പ്രസ്സ് ഡാറ്റാബേസിലേക്ക് നിശബ്ദമായി ഫീഡ് ചെയ്യപ്പെടുന്നുണ്ടെന്നും എന്നോട് പരാതിപ്പെട്ടു. പുതിയ പേജുകളുടെ ഇൻഡെക്സിംഗ് നിരക്ക് 42% കുറഞ്ഞുവെന്ന് അദ്ദേഹം കണ്ടെത്തുന്നതുവരെ ഡാറ്റാ ഫ്ലോ കുറ്റമറ്റ രീതിയിൽ പ്രവർത്തിച്ചുകൊണ്ടിരുന്നു.
കൈയോടെ പിടികൂടി പരിശോധിച്ചതിന് ശേഷം അയാൾ തണുത്തു വിയർത്തു.
സിസ്റ്റം എല്ലാ ലേഖനങ്ങളെയും ഡിഫോൾട്ട് വിഭാഗത്തിലേക്ക് എറിഞ്ഞു. കൂടുതൽ ഗുരുതരമായി പറഞ്ഞാൽ, API ട്രാൻസ്മിഷൻ സമയത്ത് Yoast SEO പ്ലഗിന്റെ വിലയേറിയ പ്രാഥമിക വിഭാഗ ടാഗ് പൂർണ്ണമായും നഷ്ടപ്പെട്ടു.
ലേഖനത്തിന് ഒന്നിലധികം വിഭാഗ ടാഗുകളുണ്ട്, പക്ഷേ ഏറ്റവും പ്രധാനപ്പെട്ട ഒറ്റ ടാഗ് സെർച്ച് എഞ്ചിന് കണ്ടെത്താൻ കഴിയുന്നില്ല.
ഇത് ഡെലിവറിക്കാരന് മൂന്ന് ഡെലിവറി വിലാസങ്ങൾ നൽകുകയും എന്നാൽ ഏത് വിലാസത്തിലേക്കാണ് പാക്കേജ് അയയ്ക്കേണ്ടതെന്ന് പറയാതിരിക്കുകയും ചെയ്യുന്നത് പോലെയാണ്.

എന്തുകൊണ്ടാണ് ഡിഫോൾട്ട് REST API നിങ്ങളുടെ കോർ SEO സിഗ്നലുകളെ വിഴുങ്ങുന്നത്
വേർഡ്പ്രസ്സ് നൽകുന്ന ഔദ്യോഗിക REST API വെറുമൊരു പൊതു ഡാറ്റാ ചാനൽ മാത്രമാണ്. Yoast SEO പോലുള്ള മൂന്നാം കക്ഷി ഉപകരണങ്ങൾ ഡാറ്റാബേസ് തലത്തിൽ എന്താണ് ചെയ്യുന്നതെന്ന് അതിന് ഒരു ധാരണയുമില്ല.
Yoast പ്രധാന വിഭാഗ ഡാറ്റ പ്രത്യേകം സംരക്ഷിക്കുന്നു. wp_postmeta 表的 _yoast_wpseo_primary_category ഈ ഫീൽഡ് REST API-യുടെ JSON പ്രതികരണത്തിലാണ്. നിങ്ങളുടെ കോഡിൽ ഈ ഇഷ്ടാനുസൃത ഫീൽഡ് വ്യക്തമായി വെളിപ്പെടുത്തിയില്ലെങ്കിൽ, REST API അത് അവഗണിക്കും.
ഇതിന്റെ അർത്ഥമെന്താണെന്ന് ചിന്തിക്കുക.
സെർച്ച് എഞ്ചിൻ ജേണൽ പ്രസിദ്ധീകരിച്ച 2025 ലെ CMS ആർക്കിടെക്ചർ ഇക്കോസിസ്റ്റം റിപ്പോർട്ട് വെളിപ്പെടുത്തുന്നത്, 73%-ത്തിലധികം ഹെഡ്ലെസ് വെബ്സൈറ്റുകളും ആശയക്കുഴപ്പമുണ്ടാക്കുന്ന കാറ്റഗറി സിഗ്നലുകൾ കാരണം ചിതറിക്കിടക്കുന്ന ബ്രെഡ്ക്രംബ് നാവിഗേഷൻ ഭാരം മൂലം ബുദ്ധിമുട്ടുന്നു എന്നാണ്. ഒരു പ്രാഥമിക വിഭാഗമില്ലാതെ, ഘടനാപരമായ ബ്രെഡ്ക്രംബ് ഡാറ്റ അവ്യക്തമായ പാതകൾ സൃഷ്ടിക്കുന്നു. ഗൂഗിളിന്റെ ക്രാളർ രണ്ട് വൈരുദ്ധ്യമുള്ള ശ്രേണിപരമായ ശൃംഖലകളെ നേരിടുമ്പോൾ, അത് പേജിന്റെ ഗുണനിലവാര സ്കോർ നേരിട്ട് കുറയ്ക്കും.
ഞാനും ഒരു കൂട്ടം നിയന്ത്രണ ഡാറ്റ പരീക്ഷിച്ചു, പ്രധാന വിഭാഗ ടാഗ് ഇല്ലാത്ത API ലേഖനങ്ങൾക്ക് ജനറേറ്റീവ് എഞ്ചിനിൽ 35% കുറഞ്ഞ സൈറ്റേഷൻ നിരക്ക് ഉണ്ടായിരുന്നു.
ഈ മറഞ്ഞിരിക്കുന്ന ഡാറ്റ വിടവ് നിങ്ങൾ കഷ്ടപ്പെട്ട് നിർമ്മിച്ച സെമാന്റിക് നെറ്റ്വർക്കിനെ രഹസ്യമായി ഇല്ലാതാക്കുകയാണ്.
ആധികാരിക സ്ഥാപനങ്ങളിൽ നിന്നും സാങ്കേതിക മാനദണ്ഡങ്ങളിൽ നിന്നുമുള്ള ആത്യന്തിക മുന്നറിയിപ്പ്.
സെർച്ച് എഞ്ചിനുകൾ വ്യക്തമായ ഘടനാപരമായ ഡാറ്റയെ ആശ്രയിക്കുന്നതിന്റെ അഭൂതപൂർവമായ തലത്തിലെത്തിയിരിക്കുന്നു.
ഘടനാപരമായ ഡാറ്റ ശ്രേണിയെക്കുറിച്ച് ചർച്ച ചെയ്യുമ്പോൾ, Yoast SEO യുടെ സ്ഥാപകനായ Joost de Valk, മൾട്ടി-കാറ്റഗറി ആർക്കിടെക്ചറിലെ പ്രാഥമിക വിഭാഗം മാത്രമാണ് ബ്രെഡ്ക്രംബ്സ് അവ്യക്തത ഇല്ലാതാക്കുന്നതിനുള്ള ഏക ആങ്കർ പോയിന്റ് എന്നും, ഈ മെറ്റാഡാറ്റയുടെ അഭാവം കാനോനിക്കൽ നോർമലൈസേഷന്റെ നിർവ്വഹണ കാര്യക്ഷമതയെ നേരിട്ട് ദുർബലപ്പെടുത്തുമെന്നും വ്യക്തമായി ചൂണ്ടിക്കാട്ടി.
ഇത് പരുഷമായി തോന്നാം, പക്ഷേ ലളിതമായി പറഞ്ഞാൽ, ഒരു പ്രധാന വിഭാഗമില്ലാതെ, നിങ്ങളുടെ പേജ് അൽഗോരിതത്തിന്റെ കണ്ണിൽ ഒരു വിഡ്ഢിത്തം മാത്രമാണെന്നാണ് ഇതിനർത്ഥം.
പെർപ്ലെക്സിറ്റി അല്ലെങ്കിൽ ഗൂഗിൾ എസ്ജിഇ പോലുള്ള ജനറേറ്റീവ് എഐ എഞ്ചിനുകൾ നമ്മുടെ ഉള്ളടക്കം ക്രോൾ ചെയ്യുമ്പോൾ , സൈറ്റേഷനായി ഉള്ളടക്കം ഒരു ഉറവിടമായി തിരഞ്ഞെടുക്കപ്പെടുമോ എന്ന് സെമാന്റിക് വ്യക്തത നിർണ്ണയിക്കുന്നു. മെറ്റാഡാറ്റ സമഗ്രത ഉറപ്പാക്കാൻ നേറ്റീവ് RESTful ഇന്റർഫേസുകൾ വിപുലീകരിക്കേണ്ടതിന്റെ ആവശ്യകതയും W3C വെബ് API സ്പെസിഫിക്കേഷൻ ഗ്രൂപ്പ് ഊന്നിപ്പറയുന്നു.
നിങ്ങൾ തലക്കെട്ടും ഉള്ളടക്കവും യാന്ത്രികമായി അയയ്ക്കുകയാണെങ്കിൽ, API ഓട്ടോമേഷൻ പകുതി പൂർത്തിയായി എന്ന് മാത്രമേ പറയാൻ കഴിയൂ.
ഈ മറഞ്ഞിരിക്കുന്ന ഫീൽഡ് ചേർക്കുന്നതിന് API ഇന്റർഫേസിന്റെ ട്രിഗറിംഗ് പ്രക്രിയയിലൂടെ ഒരു വഴി നമുക്ക് നിർബന്ധിക്കേണ്ടതുണ്ട്.
PHP ഉപയോഗിച്ച് അഞ്ച് മൂലക സിദ്ധാന്തത്തിന്റെ കോർ കോഡ് വിച്ഛേദിക്കുകയും ഡാറ്റാ ഫ്ലോയുടെ നിയന്ത്രണം വീണ്ടെടുക്കുകയും ചെയ്യുന്നു.
ഈ വേദനയ്ക്കുള്ള പരിഹാരം യഥാർത്ഥത്തിൽ വളരെ ലളിതമാണ്.
വേർഡ്പ്രസ്സ് നൽകുന്ന സവിശേഷതകൾ മാത്രമേ നമ്മൾ ഉപയോഗപ്പെടുത്തേണ്ടതുള്ളൂ. register_rest_field ഈ ഫംഗ്ഷൻ മറഞ്ഞിരിക്കുന്ന ഫീൽഡിനെ നേറ്റീവ് ആർട്ടിക്കിൾ API-യിലേക്ക് അറ്റാച്ചുചെയ്യുന്നു. ആവർത്തിച്ചുള്ള പരിശോധനകൾക്ക് ശേഷം ഞാൻ ഉരുത്തിരിഞ്ഞ ഏറ്റവും ലളിതമായ പരിഹാരമാണ് ഇനിപ്പറയുന്ന കോഡ് സ്നിപ്പെറ്റ്.
// 把 Yoast 主分类加入 REST API
add_action('rest_api_init', function() {
register_rest_field('post', 'yoast_primary_category', array(
'get_callback' => function($post) {
return get_post_meta($post['id'], '_yoast_wpseo_primary_category', true);
},
'update_callback' => function($value, $post) {
update_post_meta($post->ID, '_yoast_wpseo_primary_category', $value);
},
'schema' => array(
'type' => 'string',
),
));
});ഞങ്ങൾ ഉണ്ട് rest_api_init ഹുക്ക് ട്രിഗർ ചെയ്യുമ്പോൾ ഒരു കസ്റ്റം ഫീൽഡ് രജിസ്റ്റർ ചെയ്യുക.get_callback ലേഖനങ്ങൾ വായിക്കുമ്പോൾ യാന്ത്രികമായി പോകുന്നതിന് ഉത്തരവാദിത്തമുണ്ട് postmeta പട്ടിക തിരയൽ _yoast_wpseo_primary_category യുടെ മൂല്യം.update_callback ഒരു POST അല്ലെങ്കിൽ PUT അഭ്യർത്ഥന അയയ്ക്കുമ്പോൾ, നമ്മൾ നൽകുന്ന പ്രധാന വിഭാഗ ഐഡി ഡാറ്റാബേസിലേക്ക് എഴുതപ്പെടും.
മുഴുവൻ പ്രക്രിയയും വേർഡ്പ്രസ്സിന്റെ കോർ കോഡിനെ തകർക്കുന്നില്ല, ഇത് വളരെ മനോഹരവും നുഴഞ്ഞുകയറാത്തതുമായ ഒരു വിപുലീകരണമാക്കി മാറ്റുന്നു.
ഈ കോഡ് മൌണ്ട് ചെയ്തതിനുശേഷം, ഒരൊറ്റ അഭ്യർത്ഥന പ്രോസസ്സ് ചെയ്യുന്നതിന് സെർവറിന് 0.3 മില്ലിസെക്കൻഡിൽ താഴെ ഓവർഹെഡ് മാത്രമേ ആവശ്യമുള്ളൂ, ഇത് പ്രകടനത്തെ വളരെ ചെറിയ തോതിൽ മാത്രമേ ബാധിക്കൂ.
API അഭ്യർത്ഥനകളുടെയും സുഗമമായ എഴുത്ത് പ്രക്രിയകളുടെയും യഥാർത്ഥ ലോക പരിശോധന.
തീമിലേക്ക് കോഡ് ഇടുക functions.php പകരമായി, പ്ലഗിൻ ഇഷ്ടാനുസൃതമാക്കിയ ശേഷം, നിങ്ങൾക്ക് നേരിട്ട് ഇന്റർഫേസ് പരിശോധന നടത്താം.
ഒരു ബാഹ്യ സിസ്റ്റത്തിലേക്ക് ഒരു POST അഭ്യർത്ഥന സമർപ്പിക്കുമ്പോൾ, JSON ബോഡിയിൽ ഈ പുതിയ ഫീൽഡ് ഉൾപ്പെടുത്തിയാൽ മതി. ഒരു സ്റ്റാൻഡേർഡ് JSON പേലോഡ് ഉദാഹരണം ഇതാ.
{
"title": "测试自动化发布主分类",
"content": "这里是文章正文内容...",
"status": "publish",
"categories": [12, 45, 88],
"yoast_primary_category": "45"
}മുകളിൽ പറഞ്ഞ കാര്യങ്ങൾ ശ്രദ്ധിക്കുക. categories അറേയിൽ മൂന്ന് വിഭാഗ ഐഡികൾ അടങ്ങിയിരിക്കുന്നു. yoast_primary_category 45 എന്ന സംഖ്യ അതിന്റെ കോർ പ്രൈമറി വിഭാഗമായി വ്യക്തമായി നിയുക്തമാക്കിയിരിക്കുന്നു. അഭ്യർത്ഥന ലഭിച്ചുകഴിഞ്ഞാൽ, ഇന്റർഫേസ് ഒരേസമയം കാറ്റഗറി ബൈൻഡിംഗ് പൂർത്തിയാക്കുകയും Yoast കോർ മെറ്റാഡാറ്റ എഴുതുകയും ചെയ്യും.
10 ലേഖനങ്ങളുടെ ഡാറ്റാബേസുള്ള ഒരു വെബ്സൈറ്റിൽ ഞാൻ ഒരു സ്ട്രെസ് ടെസ്റ്റ് നടത്തി, ഒരേ സമയം 500 അഭ്യർത്ഥനകൾ തുടർച്ചയായി നൽകിയിട്ടും ഡാറ്റ നഷ്ടമായില്ല. വളരെക്കാലമായി എന്നെ അലട്ടിക്കൊണ്ടിരുന്ന ബ്രെഡ്ക്രംബ്സ് പാത്ത് ഡിസോർഡർ പ്രശ്നം സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിച്ച നിമിഷം പൂർണ്ണമായും പരിഹരിച്ചു.
ഉയർന്ന തലത്തിൽ ചിന്തിക്കുമ്പോൾ, ഡാറ്റാ പാതകളിൽ സൂക്ഷ്മമായ നിയന്ത്രണം കൈവരിക്കുക എന്നതാണ് ഓട്ടോമേഷന്റെ ആത്യന്തിക ലക്ഷ്യം.
സാങ്കേതിക പരിഹാരങ്ങൾ വികസിപ്പിക്കുമ്പോൾ, മിക്ക ആളുകളും ഏറ്റവും ഉപരിപ്ലവമായ തലത്തിൽ മാത്രമേ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നുള്ളൂ: "വിന്യസിക്കാൻ കഴിയും".
എന്നിരുന്നാലും, ഉള്ളടക്ക ആസ്തികളുടെ മൂല്യം യഥാർത്ഥത്തിൽ നിർണ്ണയിക്കുന്നത് അടിസ്ഥാനപരമായ സെമാന്റിക് ലൂപ്പും ഡാറ്റ പാതകളുടെ സങ്കീർണ്ണതയുമാണ്. ജനറേറ്റീവ് സെർച്ച് യുഗത്തിന്റെ പൂർണ്ണമായ വരവോടെ, API-കൾ വിവേചനരഹിതമായി പകർത്തുന്നത് വെബ്സൈറ്റുകളുടെ ഘടനാപരമായ തകർച്ചയുടെ വിത്തുകൾ നടുന്നതിന് തുല്യമാണ്.
ഒരു സാങ്കേതിക വാസ്തുവിദ്യയുടെ ഭംഗി കോഡിന്റെ അളവിനെ ആശ്രയിച്ചല്ല, മറിച്ച് കീ നോഡുകളിലെ നിയന്ത്രണത്തിന്റെ കൃത്യതയെ ആശ്രയിച്ചിരിക്കുന്നു.
REST API-യിലേക്ക് Yoast പ്രധാന വിഭാഗം ചേർക്കുന്നത് ഒരു ഡസനോളം കോഡ് ലൈനുകൾ ചേർക്കുന്ന ഒരു കാര്യം പോലെ തോന്നിയേക്കാം, പക്ഷേ സാരാംശത്തിൽ, ഇത് നിങ്ങളുടെ ഓട്ടോമേറ്റഡ് ഉള്ളടക്കത്തിനായി ഒരു അചഞ്ചലമായ SEO മൂല്യ ആങ്കർ നിർമ്മിക്കുന്നു.
മിന്നൽ വേഗത്തിലുള്ള അൽഗോരിതം ആവർത്തനത്തിന്റെ ഈ കാലഘട്ടത്തിൽ, അടിസ്ഥാന മെറ്റാഡാറ്റയുടെ മേലുള്ള ആത്യന്തിക നിയന്ത്രണത്തിന് മാത്രമേ സെമാന്റിക് വെബിൽ ഉള്ളടക്കം ഉറച്ചുനിൽക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കാൻ കഴിയൂ.
ഇപ്പോൾ നിങ്ങളുടെ കോഡ് എഡിറ്റർ തുറന്ന് ഈ ദുർബലത പൂർണ്ണമായും പാച്ച് ചെയ്യുക.
ഇത്രയും ദൂരം വായിച്ചതിനാൽ, ഇത് സഹായകരമാണെന്ന് തോന്നിയാൽ ദയവായി ലൈക്ക് ചെയ്യുകയും ഷെയർ ചെയ്യുകയും ചെയ്യുക. ആദ്യം അപ്ഡേറ്റുകൾ ലഭിക്കണമെങ്കിൽ, നിങ്ങൾക്ക് എന്നെ പിന്തുടരാനും കഴിയും!
എന്റെ ലേഖനം വായിച്ചതിന് നന്ദി. അടുത്ത തവണ കാണാം.
ചെൻ വെയ്ലിയാങ്ങിന്റെ ബ്ലോഗിൽ ( https://www.chenweiliang.com/ ) പങ്കിട്ട "Breaking API Limitations: Adding the Yoast SEO Main Category to the WordPress REST API (with Complete Code)" എന്ന ലേഖനം നിങ്ങൾക്ക് സഹായകരമാകുമെന്ന് പ്രതീക്ഷിക്കുന്നു.
ഈ ലേഖനത്തിന്റെ ലിങ്ക് പങ്കിടാൻ മടിക്കേണ്ടതില്ല: https://www.chenweiliang.com/cwl-34517.html
