Aller au contenu Accéder à la navigation

Débuter avec l’API REST SEOPress

Obtenir les métadonnées des posts

Depuis SEOPress 5.0, vous pouvez obtenir vos métadonnées SEO en utilisant notre API REST.

2 routes sont actuellement disponibles :

  • /wp-json/seopress/v1/posts/[postId] : remplacez [postId] par l’ID du post
  • /wp-json/seopress/v1/posts/by-url?url=https://example.com/seopress-best-wordpress-seo-plugin/ replacez l’URL par le permalien souhaité

Méthode disponible : GET.

Vous obtiendrez en réponse un JSON contenant les informations suivantes :

{ 
    "title": "SEOPress, Best WordPress SEO plugin", 
    "description": "My super meta description", 
    "canonical": "https://example.com/seopress-best-wordpress-seo-plugin/", 
    "og": { 
        "title": "My Facebook title", 
        "description": "My Facebook description", 
        "image": "https://example.com/seopress-best-wordpress-seo-plugin.jpg",
        "attachment_id": "1",
        "image_width": "1920",
        "image_height": "1080"
    }, 
    "twitter": { 
        "title": "My Twitter title", 
        "description": "My Twitter description", 
        "image": "https://example.com/seopress-best-wordpress-seo-plugin.jpg",
        "attachment_id": "1",
        "image_width": "1920",
        "image_height": "1080"
    },
    "robots": {
        "noindex": false, 
        "nofollow": false, 
        "noarchive": false, 
        "nosnippet": false, 
        "noimageindex": false 
    },
    "primarycat": "1",
    "breadcrumbs": "my custom breadcrumbs for current item",
    "redirections": {
        "enabled": true,
        "status":"both",
        "type":"301",
        "value":"https://example.com/destination-url/"
    }
}

Pour obtenir vos données, vous pouvez par exemple utiliser l’API HTTP WordPress

Obtenir les métadonnées des termes

Depuis SEOPress 5.5, vous pouvez obtenir les métadonnées SEO de vos termes de taxonomies en utilisant notre API REST.

2 routes sont actuellement disponibles :

  • /wp-json/seopress/v1/terms/[termId] : remplacez [termId] par l’ID de votre terme
  • /wp-json/seopress/v1/terms/[termId]?taxonomy=[yourCustomTaxonomy] similaire à la route précédente, avec la taxonomie comme argument (par défaut: « category » si non fourni)

Méthode disponible : GET.

Vous obtiendrez en réponse un JSON contenant les informations suivantes :

{ 
    "title": "My super term title", 
    "description": "My super term meta description",
    "canonical": "https://example.com/seopress-best-wordpress-seo-plugin/",
    "og": { 
        "title": "My Facebook term title", 
        "description": "My Facebook term description", 
        "image": "https://example.com/term-seopress-best-wordpress-seo-plugin.jpg",
        "attachment_id": "1",
        "image_width": "1920",
        "image_height": "1080" 
    }, 
    "twitter": { 
        "title": "My Twitter term title", 
        "description": "My Twitter term description", 
        "image": "https://example.com/term-seopress-best-wordpress-seo-plugin.jpg",
        "attachment_id": "1",
        "image_width": "1920",
        "image_height": "1080"
    }, 
    "robots": { 
        "noindex": false, 
        "nofollow": false, 
        "noarchive": false, 
        "nosnippet": false, 
        "noimageindex": false 
    },
    "breadcrumbs": "my custom breadcrumbs for current item",
    "redirections": {
        "enabled": true,
        "status":"both",
        "type":"301",
        "value":"https://example.com/destination-url/"
    }
}

Envoyer des métadonnées de posts

Pour écrire des métadonnées SEO, vous pouvez utiliser ces points de terminaisons :

  • titre et méta description : /wp-json/seopress/v1/posts/[postId]/title-description-metas
  • mots clés cibles : /wp-json/seopress/v1/posts/[postId]/target-keywords
  • métas sociales: /wp-json/seopress/v1/posts/[postId]/social-settings
  • métas robots: /wp-json/seopress/v1/posts/[postId]/meta-robot-settings
  • redirection: /wp-json/seopress/v1/posts/[postId]/redirection-settings

Capacité utilisateur requise par sécurité : edit_posts

Méthode disponible : PUT.

Méthodes d’authentifications

Via les cookies de WordPress

Headers à envoyer avec votre requête :

  • X-WP-Nonce: ouvrez votre console de navigateur, saisissez « wpApiSettings » et copiez le nonce
  • Cookie: ouvrez votre console de navigateur, allez dans Applications, et copiez le nom ET la valeur de ce cookie wordpress_logged_in_ (ex : wordpress_logged_in_41432erzre768dffez23456=admin%AREGREJOGRE54Y65KO534KTO4O3TJ43EFFEKZFOEZK£FEZRGTH)

Via des mots de passe d’application

SEOPress 6.8 est requis.

C’est la meilleure solution. Créez un mot de passe d’application à partir de votre profil WordPress.

Utilisez votre identifiant WP (ex : admin) et ce nouveau mot de passe d’application pour vous authentifier (choisissez « Basic Authentification » dans Postman ou équivalent).

Body (JSON Object) à envoyer avec votre requête en fonction du endpoint :

Titre et méta description

{
    "title":"this is SEO title",
    "description":"this is meta description"
}

Mots clés cibles

{
    "_seopress_analysis_target_kw":"keyword1, keyword2"
}

Métadonnées Sociales

{
    "_seopress_social_fb_title":"my facebook title",
    "_seopress_social_fb_desc":"my facebook description",
    "_seopress_social_fb_img":"facebook image URL",
    "_seopress_social_fb_img_attachment_id":"facebook attachment ID",
    "_seopress_social_fb_img_width":"facebook attachment width",
    "_seopress_social_fb_img_height":"facebook attachment height",
    "_seopress_social_twitter_title":"my twitter title",
    "_seopress_social_twitter_desc":"my twitter description",
    "_seopress_social_twitter_img":"twitter image URL",
    "_seopress_social_twitter_img_attachment_id":"twitter attachment ID",
    "_seopress_social_twitter_img_width":"twitter attachment width",
    "_seopress_social_twitter_img_height":"twitter attachment height"
}

Méta robots

{
    "_seopress_robots_index":"yes",
    "_seopress_robots_follow":"yes",
    "_seopress_robots_archive":"yes",
    "_seopress_robots_snippet":"yes",
    "_seopress_robots_imageindex":"yes",
    "_seopress_robots_canonical":"my canonical URL",
    "_seopress_robots_primary_cat":"my primary cat ID",
    "_seopress_robots_breadcrumbs":"my custom breadcrumbs"
}

Redirection

{
    "_seopress_redirections_enabled":"yes",
    "_seopress_redirections_logged_status":"both|only_logged_in|only_not_logged_in",
    "_seopress_redirections_type":"301|302|307",
    "_seopress_redirections_value":"my redirection URL"
}

Réponse :

Si succès :

{
    "code": "success"
}

Si échec :

{
    "code": "rest_forbidden",
    "message": "Sorry, you are not allowed to do that.",
    "data": {
        "status": 401
    }
}

ou

{
    "code": "rest_cookie_invalid_nonce",
    "message": "Cookie check failed",
    "data": {
        "status": 403
    }
}

Obtenir les réglages SEOPress

Depuis SEOPress 5.5, vous pouvez demander les paramètres globaux de SEOPress via notre API REST.

Notez que pour des raisons de sécurité, vous devez être connecté avec un utilisateur disposant de la capacité manage_options.

10 routes sont actuellement disponibles :

  • /wp-json/seopress/v1/options/dashboard-settings: Réglages du tableau de bord
  • /wp-json/seopress/v1/options/titles-settings: Réglages des titres et métas
  • /wp-json/seopress/v1/options/social-settings: Réglages des réseaux sociaux
  • /wp-json/seopress/v1/options/sitemaps-settings: Réglages des plans de site
  • /wp-json/seopress/v1/options/analytics-settings: Réglages de statistiques et mesures d’audience
  • /wp-json/seopress/v1/options/advanced-settings: Réglages avancés
  • /wp-json/seopress/v1/options/bot-settings: Réglages du Bot
  • /wp-json/seopress/v1/options/indexing-settings: Réglages de l’indexation instantanée
  • /wp-json/seopress/v1/options/license-settings: Réglages de la licence
  • /wp-json/seopress/v1/options/pro-settings: Réglages PRO

Méthode disponible : GET.

Vous obtiendrez en réponse un JSON contenant les informations suivantes (ex. avec les réglages du tableau de bord) :

{
  "cards_order": [
    "seopress-page-list",
    "notice-insights-alert",
    "seopress-news-panel"
  ],
  "toggle-rich-snippets": "1",
  "toggle-404": "1",
  "toggle-bot": "1",
  "toggle-titles": "1",
  "toggle-white-label": "0",
  "toggle-social": "1",
  "toggle-xml-sitemap": "1",
  "toggle-google-analytics": "1",
  "toggle-advanced": "1",
  "toggle-woocommerce": "1",
  "toggle-edd": "1",
  "toggle-local-business": "1",
  "toggle-dublin-core": "1",
  "toggle-breadcrumbs": "1",
  "toggle-robots": "1",
  "toggle-news": "1",
  "toggle-rewrite": "1",
  "toggle-instant-indexing": "1",
  "notice-wizard": "1"
}

Obtenir les rapports Search Console des posts

Depuis SEOPress 5.7, vous pouvez demander les rapports de Google Search Console de vos posts en utilisant notre REST API.

Notez que pour des raisons de sécurité, vous devez être connecté avec un utilisateur disposant de la capacité edit_posts.

1 route est actuellement disponible :

  • /wp-json/seopress/v1/posts/[postID]/inspect : remplacer [postID] par l’ID du post

Méthode disponible : GET.

Vous obtiendrez en réponse un JSON contenant les informations suivantes :

{
    "google_api_key_is_empty": false,
    "data": {
        "inspectionResult": {
            "inspectionResultLink": "https://search.google.com/search-console/inspect?resource_id=https://example.com/&id=xxxxxxxx&utm_medium=link&utm_source=api",
            "indexStatusResult": {
                "coverageState": "Indexed, not submitted in sitemap",
                "crawledAs": "MOBILE",
                "googleCanonical": "https://example.com/",
                "indexingState": "INDEXING_ALLOWED",
                "lastCrawlTime": "2022-04-29T13:25:27Z",
                "pageFetchState": "SUCCESSFUL",
                "referringUrls": [
                    "https://www.example.com/"
                ],
                "robotsTxtState": "ALLOWED",
                "sitemap": null,
                "userCanonical": "https://example.com/",
                "verdict": "PASS"
            },
            "mobileUsabilityResult": {
                "verdict": "PASS"
            },
            "richResultsResult": {
                "verdict": "PASS",
                "detectedItems": [
                {
                    "richResultType": "Logos",
                    "items": [
                    {
                        "name": "Unnamed item"
                    }
                    ]
                },
                {
                    "richResultType": "Sitelinks searchbox",
                    "items": [
                        {
                            "name": "Unnamed item"
                        }
                        ]
                    }
                ]
            }
        }
    }
}