Yoast - Automatisering: verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
k (Jeroen Strompf heeft pagina Yoast - Databasemodel hernoemd naar Yoast - Automatisering)
 
(18 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 1: Regel 1:
Alles rondom beheer van Yoast buiten de web-interface om - Niet alleen het databasemodel. Misschien komt
+
Alles rondom automatisering van Yoast. Oftewel: beheer van Yoast buiten de web-interface om.
  
 
Context van dit artikel (2021.08):
 
Context van dit artikel (2021.08):
  
 
* Uitsluitend de gratis variant van Yoast
 
* Uitsluitend de gratis variant van Yoast
* Een handjevol WooCommerce-webwinkels met elk duizenden artikelen, in verschillende talen.
+
* Een handjevol WooCommerce-webwinkels met elk duizenden artikelen, in verschillende talen
 +
* Commando's betreffen WP-CLI, niet PHP.
  
== wp yoast index ==
+
== Yoast-objecten & locaties ==
  
Yoast biedt slechts één WP-CLI commando: Om de index op te bouwen. Ik heb de indruk dat het niet werkt: Het was instantaan klaar, terwijl de webinterface er uren over lijkt te doen - Misschien snap ik iets niet.
+
=== Search appearance settings ===
 +
 
 +
* Site: <code>wp-admin » SEO » Search Appearance</code>
 +
* Inclusief de standaard-waardes voor de diverse Yoast-velden zoals ''SEO titles'' en ''meta descriptions''.
 +
* Database: Tabel <code>wp_options</code> - Field <code>wpseo_titles</code>
 +
* Beheer WP-CLI: <code>wp option</code>. Bv. <code> wp option get wpseo_titles</code>.
 +
 
 +
Voorbeeld (deel van de uitvoer):
 +
 
 +
<pre>
 +
$ wp option get wpseo_titles
 +
 
 +
array (
 +
  'forcerewritetitle' => false,
 +
  'separator' => 'sc-dash',
 +
  'title-home-wpseo' => '%%sitename%% %%page%% %%sep%% %%sitedesc%%',
 +
  'title-author-wpseo' => '%%name%%, Author at %%sitename%% %%page%%',
 +
  'title-archive-wpseo' => '%%date%% %%page%% %%sep%% %%sitename%%',
 +
  'title-search-wpseo' => 'Je zocht naar %%searchphrase%% %%page%% %%sep%% %%sitename%%',
 +
  'title-404-wpseo' => 'Pagina niet gevonden %%sep%% %%sitename%%',
 +
  'social-title-author-wpseo' => '%%name%%',
 +
  'social-title-archive-wpseo' => '%%date%%',
 +
  'social-description-author-wpseo' => '%%excerpt%%',
 +
  'social-description-archive-wpseo' => '%%excerpt%%',
 +
  'social-image-url-author-wpseo' => '',
 +
  'social-image-url-archive-wpseo' => '',
 +
  'social-image-id-author-wpseo' => 0,
 +
  'social-image-id-archive-wpseo' => 0,
 +
  ...
 +
</pre>
 +
 
 +
=== Casus: Vertaalde site - 2021.08 ===
 +
 
 +
Dit betreft een site die geklooned en vertaald is, van ''voorbeeld.nl'' naar ''example.com''. Ook de product_cat- & attribute-taxonomieën zijn vertaald:
 +
 
 +
* <code>wp option get wpseo_titles</code> toont echter nog steeds de oude attribuut-namen (bv. <code>metadesc-tax-pa_model</code>)
 +
* Op database-niveau zijn de namen van de attribuut-taxonomieën écht vertaald (<code>SELECT distinct taxonomy FROM en_s1.wp_term_taxonomy;</code>): Dat gebeurt vanzelf als je via wp-admin de namen van taxonomieën aanpast. Toevallig speelt dat niet voor attribuut-taxonomie ''Model'': Da's hetzelfde in NL en EN
 +
* <code>wp-admin » Products » Attributes » Een model-taxon » Yoast SEO » Meta description</code>: Hier staat dezelfde standaard NL-tekst die ik via <code>wp option get wpseo_titles</code> vond
 +
 
 +
== Databasemodel ==
 +
 
 +
See [[Yoast - Database model]].
 +
 
 +
== WP-CLI ==
 +
 
 +
Een impressie van WP-CLI-commando's rondom Yoast:
 +
 
 +
* <code>wp yoast index</code>: Yoast biedt slechts één WP-CLI commando: Om de index op te bouwen. Ik heb de indruk dat het niet werkt: Het was instantaan klaar, terwijl de webinterface er uren over lijkt te doen - Misschien snap ik iets niet
 +
* <code>wp option</code>: Om entries in tabel <code>wp_options</code> te beren → Zie elders voor details.
  
 
== wp options ==
 
== wp options ==
Regel 14: Regel 63:
 
Enige algemene instellingen lijken te worden bijgehouden in <code>wp_options</code>. <code>custom_taxonomy_slugs</code> lijkt het enige relevante onderdeel hiervan te zijn tav. ''klonen & vertalen''. Wordt dit niet bijgewerkt als je de Yoast-index bijwerkt?
 
Enige algemene instellingen lijken te worden bijgehouden in <code>wp_options</code>. <code>custom_taxonomy_slugs</code> lijkt het enige relevante onderdeel hiervan te zijn tav. ''klonen & vertalen''. Wordt dit niet bijgewerkt als je de Yoast-index bijwerkt?
  
 +
<pre>
 +
# Overzicht van alle velden:
 +
#
 +
$ wp option list --field=option_name | grep -E -- 'yoast|wpseo'
 +
 +
wpseo
 +
wpseo_titles
 +
wpseo_social
 +
wpseo_flush_rewrite
 +
wpseo_taxonomy_meta
 +
yoast_migrations_free
 +
wpseo_ryte
 +
</pre>
 +
 +
=== wpseo ===
 +
 +
Impressie:
 
<pre>
 
<pre>
 
$ wp option get wpseo
 
$ wp option get wpseo
 
  
 
array (
 
array (
Regel 79: Regel 144:
 
   'algolia_integration_active' => false,
 
   'algolia_integration_active' => false,
 
)
 
)
 +
</pre>
 +
 +
=== wpseo_titles ===
 +
 +
Een impressie (dit is een paar A4-tjes bij elkaar):
 +
<pre>
 +
$ wp option get wpseo_titles
 +
 +
array (
 +
  'forcerewritetitle' => false,
 +
  'separator' => 'sc-dash',
 +
  'title-home-wpseo' => '%%sitename%% %%page%% %%sep%% %%sitedesc%%',
 +
  'title-author-wpseo' => '%%name%%, Author at %%sitename%% %%page%%',
 +
  'title-archive-wpseo' => '%%date%% %%page%% %%sep%% %%sitename%%',
 +
  'title-search-wpseo' => 'Je zocht naar %%searchphrase%% %%page%% %%sep%% %%sitename%%',
 +
  'title-404-wpseo' => 'Pagina niet gevonden %%sep%% %%sitename%%',
 +
  'social-title-author-wpseo' => '%%name%%',
 +
  'social-title-archive-wpseo' => '%%date%%',
 +
  'social-description-author-wpseo' => '%%excerpt%%',
 +
  'social-description-archive-wpseo' => '%%excerpt%%',
 +
  'social-image-url-author-wpseo' => '',
 +
  'social-image-url-archive-wpseo' => '',
 +
  'social-image-id-author-wpseo' => 0,
 +
  'social-image-id-archive-wpseo' => 0,
 +
  ...
 
</pre>
 
</pre>
  
Regel 85: Regel 175:
 
Een aantal velden worden bijgehouden als <code>wp post meta</code>-velden. Oftewel regels in tabel <code>wp_post_meta</code>.  
 
Een aantal velden worden bijgehouden als <code>wp post meta</code>-velden. Oftewel regels in tabel <code>wp_post_meta</code>.  
  
Voorbeeld (dit betreft een WooCommerce-producte):
+
Voorbeeld (dit betreft een WooCommerce-product):
  
 
<pre>
 
<pre>
Regel 145: Regel 235:
  
 
Ik weet niet wat <code>_yoast_wpseo_primary_product_cat</code> is.
 
Ik weet niet wat <code>_yoast_wpseo_primary_product_cat</code> is.
 
== Tabellen ==
 
 
Yoast voegt zes tabellen toe aan de wp-database:
 
 
* <code>wp_yoast_indexable</code>
 
* <code>wp_yoast_indexable_hierarchy</code>: Een tabel met cijfertjes. Vermoedelijk om hiërarchie tussen rijen in wp_yoast_indexable aan te geven. Verder niet interessant
 
* <code>wp_yoast_migrations</code>: Lijkt betrekking te hebben op Yoast-upgrades. Verder niet interessant
 
* <code>wp_yoast_primary_term</code>: Lijst met associaties tussen posts en bijbehorende primaire taxonomie & taxon
 
* <code>wp_yoast_seo_links</code>: Tabel met maar 51 regels en geen producten
 
* <code>wp_yoast_meta</code>: Tabel waarbij lijkt te worden bijgehouden hoeveel interne en externe links er per post zijn.
 
 
Waar relevant, worden tabellen in aparte hoofdstukken behandeld.
 
 
Verder maakt Yoast gebruik van in ieder geval de volgende bestaande tabellen:
 
 
* <code>wp_post_meta</code>
 
  
 
== Tabel wp_yoast_indexable ==
 
== Tabel wp_yoast_indexable ==

Huidige versie van 17 sep 2022 om 10:36

Alles rondom automatisering van Yoast. Oftewel: beheer van Yoast buiten de web-interface om.

Context van dit artikel (2021.08):

  • Uitsluitend de gratis variant van Yoast
  • Een handjevol WooCommerce-webwinkels met elk duizenden artikelen, in verschillende talen
  • Commando's betreffen WP-CLI, niet PHP.

Yoast-objecten & locaties

Search appearance settings

  • Site: wp-admin » SEO » Search Appearance
  • Inclusief de standaard-waardes voor de diverse Yoast-velden zoals SEO titles en meta descriptions.
  • Database: Tabel wp_options - Field wpseo_titles
  • Beheer WP-CLI: wp option. Bv. wp option get wpseo_titles.

Voorbeeld (deel van de uitvoer):

$ wp option get wpseo_titles

array (
  'forcerewritetitle' => false,
  'separator' => 'sc-dash',
  'title-home-wpseo' => '%%sitename%% %%page%% %%sep%% %%sitedesc%%',
  'title-author-wpseo' => '%%name%%, Author at %%sitename%% %%page%%',
  'title-archive-wpseo' => '%%date%% %%page%% %%sep%% %%sitename%%',
  'title-search-wpseo' => 'Je zocht naar %%searchphrase%% %%page%% %%sep%% %%sitename%%',
  'title-404-wpseo' => 'Pagina niet gevonden %%sep%% %%sitename%%',
  'social-title-author-wpseo' => '%%name%%',
  'social-title-archive-wpseo' => '%%date%%',
  'social-description-author-wpseo' => '%%excerpt%%',
  'social-description-archive-wpseo' => '%%excerpt%%',
  'social-image-url-author-wpseo' => '',
  'social-image-url-archive-wpseo' => '',
  'social-image-id-author-wpseo' => 0,
  'social-image-id-archive-wpseo' => 0,
  ...

Casus: Vertaalde site - 2021.08

Dit betreft een site die geklooned en vertaald is, van voorbeeld.nl naar example.com. Ook de product_cat- & attribute-taxonomieën zijn vertaald:

  • wp option get wpseo_titles toont echter nog steeds de oude attribuut-namen (bv. metadesc-tax-pa_model)
  • Op database-niveau zijn de namen van de attribuut-taxonomieën écht vertaald (SELECT distinct taxonomy FROM en_s1.wp_term_taxonomy;): Dat gebeurt vanzelf als je via wp-admin de namen van taxonomieën aanpast. Toevallig speelt dat niet voor attribuut-taxonomie Model: Da's hetzelfde in NL en EN
  • wp-admin » Products » Attributes » Een model-taxon » Yoast SEO » Meta description: Hier staat dezelfde standaard NL-tekst die ik via wp option get wpseo_titles vond

Databasemodel

See Yoast - Database model.

WP-CLI

Een impressie van WP-CLI-commando's rondom Yoast:

  • wp yoast index: Yoast biedt slechts één WP-CLI commando: Om de index op te bouwen. Ik heb de indruk dat het niet werkt: Het was instantaan klaar, terwijl de webinterface er uren over lijkt te doen - Misschien snap ik iets niet
  • wp option: Om entries in tabel wp_options te beren → Zie elders voor details.

wp options

Enige algemene instellingen lijken te worden bijgehouden in wp_options. custom_taxonomy_slugs lijkt het enige relevante onderdeel hiervan te zijn tav. klonen & vertalen. Wordt dit niet bijgewerkt als je de Yoast-index bijwerkt?

# Overzicht van alle velden:
#
$ wp option list --field=option_name | grep -E -- 'yoast|wpseo'

wpseo
wpseo_titles
wpseo_social
wpseo_flush_rewrite
wpseo_taxonomy_meta
yoast_migrations_free
wpseo_ryte

wpseo

Impressie:

$ wp option get wpseo

array (
  'tracking' => false,
  'license_server_version' => '2',
  'ms_defaults_set' => false,
  'ignore_search_engines_discouraged_notice' => false,
  'indexing_first_time' => false,
  'indexing_started' => 1626764628,
  'indexing_reason' => 'permalink_settings_changed',
  'indexables_indexing_completed' => true,
  'version' => '16.8',
  'previous_version' => '16.7',
  'disableadvanced_meta' => true,
  'enable_headless_rest_endpoints' => true,
  'ryte_indexability' => true,
  'baiduverify' => '',
  'googleverify' => '',
  'msverify' => '',
  'yandexverify' => '',
  'site_type' => 'shop',
  'has_multiple_authors' => false,
  'environment_type' => 'production',
  'content_analysis_active' => true,
  'keyword_analysis_active' => true,
  'enable_admin_bar_menu' => true,
  'enable_cornerstone_content' => true,
  'enable_xml_sitemap' => true,
  'enable_text_link_counter' => true,
  'show_onboarding_notice' => false,
  'first_activated_on' => 1559309841,
  'myyoast-oauth' => false,
  'semrush_integration_active' => true,
  'semrush_tokens' => 
  array (
  ),
  'semrush_country_code' => 'us',
  'permalink_structure' => '/%postname%/',
  'home_url' => 'http://en.s1',
  'dynamic_permalinks' => false,
  'category_base_url' => '',
  'tag_base_url' => '',
  'custom_taxonomy_slugs' => 
  array (
    'product_type' => 'product_type',
    'product_visibility' => 'product_visibility',
    'product_cat' => 'shop',
    'product_tag' => 'product-tag',
    'product_shipping_class' => 'product_shipping_class',
    'pa_example' => '/example',
    ...
    'pa_example_100' => '/example_100',
  ),
  'enable_enhanced_slack_sharing' => true,
  'zapier_integration_active' => true,
  'zapier_subscription' => 
  array (
  ),
  'zapier_api_key' => '',
  'enable_metabox_insights' => true,
  'enable_link_suggestions' => true,
  'algolia_integration_active' => false,
)

wpseo_titles

Een impressie (dit is een paar A4-tjes bij elkaar):

$ wp option get wpseo_titles

array (
  'forcerewritetitle' => false,
  'separator' => 'sc-dash',
  'title-home-wpseo' => '%%sitename%% %%page%% %%sep%% %%sitedesc%%',
  'title-author-wpseo' => '%%name%%, Author at %%sitename%% %%page%%',
  'title-archive-wpseo' => '%%date%% %%page%% %%sep%% %%sitename%%',
  'title-search-wpseo' => 'Je zocht naar %%searchphrase%% %%page%% %%sep%% %%sitename%%',
  'title-404-wpseo' => 'Pagina niet gevonden %%sep%% %%sitename%%',
  'social-title-author-wpseo' => '%%name%%',
  'social-title-archive-wpseo' => '%%date%%',
  'social-description-author-wpseo' => '%%excerpt%%',
  'social-description-archive-wpseo' => '%%excerpt%%',
  'social-image-url-author-wpseo' => '',
  'social-image-url-archive-wpseo' => '',
  'social-image-id-author-wpseo' => 0,
  'social-image-id-archive-wpseo' => 0,
  ...

wp post meta

Een aantal velden worden bijgehouden als wp post meta-velden. Oftewel regels in tabel wp_post_meta.

Voorbeeld (dit betreft een WooCommerce-product):

$ wp post meta list 55272

+---------+----------------------------------+-----------------------------------------------------------------------+
| post_id | meta_key                         | meta_value                                                            |
+---------+----------------------------------+-----------------------------------------------------------------------+
| 55272   | _sku                             | ca-123                                                                |
| 55272   | _regular_price                   | 79.95                                                                 |
| 55272   | total_sales                      | 6                                                                     |
| 55272   | _tax_status                      | taxable                                                               |
| 55272   | _tax_class                       |                                                                       |
| 55272   | _manage_stock                    | no                                                                    |
| 55272   | _backorders                      | no                                                                    |
| 55272   | _sold_individually               | no                                                                    |
| 55272   | _virtual                         | no                                                                    |
| 55272   | _downloadable                    | no                                                                    |
| 55272   | _download_limit                  | -1                                                                    |
| 55272   | _download_expiry                 | -1                                                                    |
| 55272   | _thumbnail_id                    | 53057                                                                 |
| 55272   | _stock                           |                                                                       |
| 55272   | _stock_status                    | instock                                                               |
| 55272   | _wc_average_rating               | 0                                                                     |
| 55272   | _wc_review_count                 | 0                                                                     |
| 55272   | _product_attributes              | <weggehaald>                                                          |
| 55272   | _product_version                 | 4.4.1                                                                 |
| 55272   | _price                           | 79.95                                                                 |
| 55272   | sku_oem                          | 3775                                                                  |
| 55272   | _sku_oem                         | field_5cc47ea230d51                                                   |
| 55272   | diagram                          |                                                                       |
| 55272   | _diagram                         | field_5cc58bd920d9b                                                   |
| 55272   | post_tools                       |                                                                       |
| 55272   | _post_tools                      | field_5ce5246bc13fe                                                   |
| 55272   | _yoast_wpseo_focuskw             | Widgets voor Zbigniew                                                 |
| 55272   | _yoast_wpseo_linkdex             | 28                                                                    |
| 55272   | _yoast_wpseo_content_score       | 60                                                                    |
| 55272   | _yoast_wpseo_primary_product_cat | 44352                                                                 |
| 55272   | dhlpwc_enable_method_limit       |                                                                       |
| 55272   | dhlpwc_selected_method_limit     |                                                                       |
| 55272   | _edit_lock                       | 1627985827:4                                                          |
| 55272   | _edit_last                       | 9                                                                     |
| 55272   | _last_editor_used_jetpack        | classic-editor                                                        |
+---------+----------------------------------+-----------------------------------------------------------------------+

Dit lijken alle Yoast-velden bij elkaar te zijn:

  • _yoast_wpseo_focuskw
  • _yoast_wpseo_linkdex
  • _yoast_wpseo_metadesc
  • _yoast_wpseo_content_score
  • _yoast_wpseo_primary_product_cat.

Hiervan zijn alleen deze beschrijfbaar:

  • _yoast_wpseo_focuskw
  • _yoast_wpseo_metadesc.

Ik weet niet wat _yoast_wpseo_primary_product_cat is.

Tabel wp_yoast_indexable

Een handjevol van de velden:

Veld Opmerkingen
object_id Foreign key: Object waar deze regel betrekking op heeft. Doorgaans hetzelfde als ID in tabel wp_posts
breadcrumb_title Misschien wel precies wat het zegt: Hoe deze pagina verschijnt in het broodkruimelpad
canonical ?
permalink ?
primary_focus_keyword De focus keyphrase in Yoast-secties van pagina's
title ?
description Meta description in de Yoast-sectie van een pagina

Zie ook

Bronnen