[{"data":1,"prerenderedAt":200},["ShallowReactive",2],{"$fRXV79nUrofz5M37LQWam7zrOxm4z-1NyXlcUFlCiF08":3},[4],{"id":5,"date":6,"date_gmt":7,"guid":8,"modified":10,"modified_gmt":11,"slug":12,"status":13,"type":14,"link":15,"title":16,"content":18,"excerpt":21,"author":23,"featured_media":24,"comment_status":25,"ping_status":25,"sticky":20,"template":26,"format":27,"meta":28,"categories":29,"tags":31,"class_list":32,"_links":40,"_embedded":84},55,"2022-11-10T10:10:00","2022-11-10T09:10:00",{"rendered":9},"https:\u002F\u002Fcms.lcdev.fr\u002F?p=55","2026-07-08T16:36:47","2026-07-08T14:36:47","ma-methode-pour-generer-un-sitemap-sur-laravel","publish","post","https:\u002F\u002Fcms.lcdev.fr\u002Fma-methode-pour-generer-un-sitemap-sur-laravel\u002F",{"rendered":17},"Ma méthode pour générer un sitemap sur Laravel",{"rendered":19,"protected":20},"\n\u003Cp class=\"wp-block-paragraph\">Un sitemap est un fichier au format XML, RSS ou TXT qui recense les pages web d&rsquo;un site. Les moteurs de recherche utilisent ce fichier pour parcourir un site de manière plus efficace. Des informations complémentaires comme la date de mise à jour d&rsquo;une page peuvent être indiquées, pour « recommander » aux moteurs de recherche de retourner explorer les pages récemment modifiées. Je mets le mot recommandé entre guillemets, car les robots n’en font parfois qu&rsquo;à leur tête. Bien que pas obligatoire pour améliorer son SEO, il est quand même recommandé d&rsquo;avoir un sitemap pour guider les robots de crawl.\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Dans cet article, je vous propose de découvrir ma méthode pour générer un sitemap sur Laravel.\u003C\u002Fp>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Est-ce la meilleure méthode pour générer un sitemap sur un projet Laravel ?\u003C\u002Fh2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Comme souvent en programmation, il existe un tas de solutions pour résoudre une même problématique. Il existe des plugins qui permettent de générer « automatiquement » un sitemap avec un peu de configuration dans les modèles. Je pense notamment au plugin \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fspatie\u002Flaravel-sitemap\">spatie\u002Flaravel-sitemap\u003C\u002Fa>.\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Pour ma part, j&rsquo;ai fait le choix de gérer le sitemap plus manuellement, pour garder un maximum de souplesse et pouvoir mixer facilement les pages basées sur un élément en base de données et les pages statiques du projet.\u003C\u002Fp>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Création d&rsquo;une commande Laravel pour générer un sitemap\u003C\u002Fh2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Par définition, un sitemap est amené à évoluer au fil du temps par l&rsquo;ajout, la modification ou encore la suppression de contenu (articles, produits, page, etc.).\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Il me parait donc judicieux de créer une commande pour cette tâche, qui pourra être lancée à intervalle régulier grâce à la programmation de tâche Laravel.\u003C\u002Fp>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>php artisan make:command GenerateSitemap\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Dans le fichier \u003Ccode>app\u002FConsole\u002FCommands\u002FGenerateSitemap.php\u003C\u002Fcode>, n&rsquo;oubliez pas de préciser la variable \u003Ccode>$signature\u003C\u002Fcode> pour pouvoir exécuter la commande. Par exemple : \u003Ccode>sitemap:generate\u003C\u002Fcode>\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Ainsi, vous n&rsquo;aurez plus qu&rsquo;à lancer la commande suivante pour générer votre sitemap.\u003C\u002Fp>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>php artisan sitemap:generate\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Utilisation du package samdark\u002Fsitemap\u003C\u002Fh2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Pour créer le sitemap, j&rsquo;ai choisi d&rsquo;utiliser le package \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsamdark\u002Fsitemap\">samdark\u002Fsitemap\u003C\u002Fa>, qui propose toutes les fonctions et paramètres utiles à la création d&rsquo;un sitemap au format XML.\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Pour installer le package :\u003C\u002Fp>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>composer require samdark\u002Fsitemap\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Tout est désormais prêt pour créer un sitemap !\u003C\u002Fp>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Générer un sitemap\u003C\u002Fh2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Dans le fichier \u003Ccode>GenerateSitemap.php\u003C\u002Fcode> précédemment créé, il est maintenant temps d&rsquo;agrémenter la fonction \u003Ccode>handle()\u003C\u002Fcode>, qui s&rsquo;exécutera au lancement de la commande.\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Le code se divise en 4 parties :\u003C\u002Fp>\n\n\n\n\u003Col class=\"wp-block-list\">\n\u003Cli>Instanciation de la classe Sitemap du package samdark\u002Fsitemap\u003C\u002Fli>\n\n\n\n\u003Cli>Ajout des URLs fixes\u003C\u002Fli>\n\n\n\n\u003Cli>Ajout des URLs générées à partir de votre BDD : articles, produits, profils utilisateurs, etc.\u003C\u002Fli>\n\n\n\n\u003Cli>Enregistrement du sitemap\u003C\u002Fli>\n\u003C\u002Fol>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>use samdark\\sitemap\\Sitemap;\u003Cbr>​\u003Cbr>public function handle() {\u003Cbr>    \u002F\u002F Création du sitemap à la racine du site\u003Cbr> &nbsp; &nbsp;$sitemap = new Sitemap(public_path('sitemap.xml'));\u003Cbr> &nbsp; &nbsp;\u003Cbr> &nbsp; &nbsp;\u002F\u002F Ajouter les URLs fixe\u003Cbr> &nbsp; &nbsp;$sitemap-&gt;addItem(route('page.a'));\u003Cbr> &nbsp; &nbsp;$sitemap-&gt;addItem(route('page.b'));\u003Cbr> &nbsp; &nbsp;\u003Cbr> &nbsp; &nbsp;\u002F\u002F Ajouter les URLs générées à partir de la base de données\u003Cbr> &nbsp; &nbsp;$articles = Article::getAll();\u003Cbr> &nbsp; &nbsp;foreach ($articles as $article) {\u003Cbr> &nbsp; &nbsp; &nbsp; &nbsp;$road = route('articles.show', $article-&gt;slug);\u003Cbr> &nbsp; &nbsp; &nbsp; &nbsp;$sitemap-&gt;addItem($road, $article-&gt;updated_at-&gt;timestamp);\u003Cbr> &nbsp;  }\u003Cbr> &nbsp; &nbsp;\u003Cbr> &nbsp; &nbsp;\u002F\u002F Ecriture du sitemap\u003Cbr> &nbsp; &nbsp;$sitemap-&gt;write();\u003Cbr> &nbsp; &nbsp;\u003Cbr> &nbsp; &nbsp;$this-&gt;info('Sitemap créé avec succès !');\u003Cbr> &nbsp; &nbsp;return true;\u003Cbr>}\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Exécutez la commande pour générer le sitemap. Si tout c&rsquo;est bien passé, votre sitemap devrait-être accessible à l&rsquo;adresse \u003Cem>\u002Fsitemap.xml\u003C\u002Fem>.\u003C\u002Fp>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Pour les sitemaps volumineux\u003C\u002Fh2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Si votre site contient un grand nombre d&rsquo;URL, vous devriez peut-être réfléchir à scinder votre sitemap.\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Un sitemap peut contenir au maximum 50 000 URL pour un poids de 50 Mo (sitemaps non compressé). Avant même d&rsquo;atteindre ces volumes de liens, c&rsquo;est une pratique courante de regrouper les URLs entres-elles.\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Si vous avez plusieurs sitemaps, il vous faudra un sitemap index, qui référencera les URLs des autres sitemaps pour que Google et les autres moteurs de recherche puissent s&rsquo;y retrouver.\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Rassurez-vous, le package installé précédemment gère ça à merveille.\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Voilà le code que j&rsquo;utilise lorsque je veux créer plusieurs sitemaps :\u003C\u002Fp>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>public function handle() {\u003Cbr> &nbsp; &nbsp;\u002F\u002F Créations des sitemaps annexes\u003Cbr> &nbsp; &nbsp;$urls = &#91;];\u003Cbr> &nbsp; &nbsp;$urls = array_merge($urls, $this-&gt;Blog());\u003Cbr> &nbsp; &nbsp;$urls = array_merge($urls, $this-&gt;Products());\u003Cbr>​\u003Cbr> &nbsp; &nbsp;\u002F\u002F Création du sitemap index\u003Cbr> &nbsp; &nbsp;$index = new Index(public_path('sitemap.xml'));\u003Cbr> &nbsp; &nbsp;foreach ($urls as $url) {\u003Cbr> &nbsp; &nbsp;$index-&gt;addSitemap(url($url));\u003Cbr> &nbsp;  }\u003Cbr> &nbsp; &nbsp;$index-&gt;write();\u003Cbr>​\u003Cbr> &nbsp; &nbsp;$this-&gt;info('Sitemap created !');\u003Cbr> &nbsp; &nbsp;return true;\u003Cbr>}\u003Cbr>​\u003Cbr>private function Blog(): array {\u003Cbr> &nbsp; &nbsp;$sitemap = new Sitemap(public_path('sitemap-blog.xml'));\u003Cbr> &nbsp; &nbsp;$articles = Article::getAll();\u003Cbr> &nbsp; &nbsp;foreach ($articles as $article) {\u003Cbr> &nbsp; &nbsp;$road = route('articles.show', $article-&gt;slug);\u003Cbr> &nbsp; &nbsp;$sitemap-&gt;addItem($road, $article-&gt;updated_at-&gt;timestamp);\u003Cbr> &nbsp;  }\u003Cbr> &nbsp; &nbsp;$sitemap-&gt;write();\u003Cbr>​\u003Cbr> &nbsp; &nbsp;$this-&gt;info('Sitemap of blog created.');\u003Cbr> &nbsp; &nbsp;return $sitemap-&gt;getSitemapUrls('');\u003Cbr>}\u003Cbr>​\u003Cbr>private function Products(): array {\u003Cbr> &nbsp; &nbsp;$sitemap = new Sitemap(public_path('sitemap-products.xml'));\u003Cbr> &nbsp; &nbsp;$landings = Product::getAll();\u003Cbr> &nbsp; &nbsp;foreach ($products as $product) {\u003Cbr> &nbsp; &nbsp;$road = route('products.show', $product-&gt;slug);\u003Cbr> &nbsp; &nbsp;$sitemap-&gt;addItem($road, $product-&gt;updated_at-&gt;timestamp);\u003Cbr> &nbsp;  }\u003Cbr> &nbsp; &nbsp;$sitemap-&gt;write();\u003Cbr> &nbsp; &nbsp;$this-&gt;info('Sitemap of products created.');\u003Cbr> &nbsp; &nbsp;return $sitemap-&gt;getSitemapUrls('');\u003Cbr>}\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Programmer la génération du sitemap\u003C\u002Fh2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Il ne reste plus qu&rsquo;à programmer la génération de votre sitemap.\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Si vous souhaitez générer le sitemap toutes les 6h par exemple, ça se passe dans le fichier \u003Cem>app\u002FConsole\u002FKernel.php\u003C\u002Fem>.\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Ajoutez :\u003C\u002Fp>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>protected function schedule(Schedule $schedule) {\u003Cbr> &nbsp; &nbsp; $schedule-&gt;command('sitemap:generate')-&gt;everySixHours();\u003Cbr>}\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">N&rsquo;oubliez pas d&rsquo;ajouter la commande nécessaire au fonctionnement du planificateur de tâche dans le cron de votre serveur :\u003C\u002Fp>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>* * * * * cd \u002Fpath-to-your-project &amp;&amp; php artisan schedule:run &gt;&gt; \u002Fdev\u002Fnull 2&gt;&amp;1\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Vous pouvez également lancer la génération du sitemap après l&rsquo;enregistrement ou la mise à jour d&rsquo;une donnée, en appelant la commande précédemment créée.\u003C\u002Fp>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>use Illuminate\\Support\\Facades\\Artisan;\u003Cbr>Artisan::call('sitemap:generate');\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">À vous d&rsquo;organiser ensuite votre code, avec les events de Laravel par exemple.\u003C\u002Fp>\n",false,{"rendered":22,"protected":20},"\u003Cp>Générer un sitemap pour votre site Web à l&rsquo;aide de quelques lignes de codes, d&rsquo;une commande Laravel le Task Scheduling ainsi qu&rsquo;un package PHP\u003C\u002Fp>\n",1,18,"open","","standard",{"footnotes":26},[30],4,[],[33,14,34,35,36,37,38,39],"post-55","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel",{"self":41,"collection":47,"about":50,"author":53,"replies":57,"version-history":60,"predecessor-version":63,"wp:featuredmedia":67,"wp:attachment":70,"wp:term":73,"curies":80},[42],{"href":43,"targetHints":44},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F55",{"allow":45},[46],"GET",[48],{"href":49},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts",[51],{"href":52},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Ftypes\u002Fpost",[54],{"embeddable":55,"href":56},true,"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fusers\u002F1",[58],{"embeddable":55,"href":59},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fcomments?post=55",[61],{"count":23,"href":62},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F55\u002Frevisions",[64],{"id":65,"href":66},56,"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F55\u002Frevisions\u002F56",[68],{"embeddable":55,"href":69},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia\u002F18",[71],{"href":72},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia?parent=55",[74,77],{"taxonomy":75,"embeddable":55,"href":76},"category","https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories?post=55",{"taxonomy":78,"embeddable":55,"href":79},"post_tag","https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags?post=55",[81],{"name":82,"href":83,"templated":55},"wp","https:\u002F\u002Fapi.w.org\u002F{rel}",{"author":85,"wp:featuredmedia":102,"wp:term":176},[86],{"id":23,"name":87,"url":88,"description":26,"link":89,"slug":87,"avatar_urls":90,"_links":94},"lcdev","http:\u002F\u002Fcms.lcdev.fr","https:\u002F\u002Fcms.lcdev.fr\u002Fauthor\u002Flcdev\u002F",{"24":91,"48":92,"96":93},"https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002F8578aee4d4c25728b0f2cb389c2c80a414b27a57d2a499ce695a879ec3e1fd97?s=24&d=mm&r=g","https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002F8578aee4d4c25728b0f2cb389c2c80a414b27a57d2a499ce695a879ec3e1fd97?s=48&d=mm&r=g","https:\u002F\u002Fsecure.gravatar.com\u002Favatar\u002F8578aee4d4c25728b0f2cb389c2c80a414b27a57d2a499ce695a879ec3e1fd97?s=96&d=mm&r=g",{"self":95,"collection":99},[96],{"href":56,"targetHints":97},{"allow":98},[46],[100],{"href":101},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fusers",[103],{"id":24,"date":104,"slug":105,"type":106,"link":107,"title":108,"author":23,"featured_media":109,"caption":110,"alt_text":26,"media_type":111,"mime_type":112,"media_details":113,"source_url":150,"_links":154},"2026-07-06T15:26:43","generer-sitemap-laravel","attachment","https:\u002F\u002Fcms.lcdev.fr\u002Fformulaire-elementor-wordpress-0-spam-avec-cette-methode\u002Fgenerer-sitemap-laravel\u002F",{"rendered":105},0,{"rendered":26},"image","image\u002Fpng",{"width":114,"height":115,"file":116,"filesize":117,"sizes":118,"image_meta":151},1920,1080,"2026\u002F07\u002Fgenerer-sitemap-laravel.png",76870,{"medium":119,"large":125,"thumbnail":131,"medium_large":136,"1536x1536":142,"full":148},{"file":120,"width":121,"height":122,"filesize":123,"mime_type":112,"source_url":124},"generer-sitemap-laravel-300x169.png",300,169,13271,"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-content\u002Fuploads\u002F2026\u002F07\u002Fgenerer-sitemap-laravel-300x169.png",{"file":126,"width":127,"height":128,"filesize":129,"mime_type":112,"source_url":130},"generer-sitemap-laravel-1024x576.png",1024,576,51879,"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-content\u002Fuploads\u002F2026\u002F07\u002Fgenerer-sitemap-laravel-1024x576.png",{"file":132,"width":133,"height":133,"filesize":134,"mime_type":112,"source_url":135},"generer-sitemap-laravel-150x150.png",150,10445,"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-content\u002Fuploads\u002F2026\u002F07\u002Fgenerer-sitemap-laravel-150x150.png",{"file":137,"width":138,"height":139,"filesize":140,"mime_type":112,"source_url":141},"generer-sitemap-laravel-768x432.png",768,432,36643,"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-content\u002Fuploads\u002F2026\u002F07\u002Fgenerer-sitemap-laravel-768x432.png",{"file":143,"width":144,"height":145,"filesize":146,"mime_type":112,"source_url":147},"generer-sitemap-laravel-1536x864.png",1536,864,79996,"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-content\u002Fuploads\u002F2026\u002F07\u002Fgenerer-sitemap-laravel-1536x864.png",{"file":149,"width":114,"height":115,"mime_type":112,"source_url":150},"generer-sitemap-laravel.png","https:\u002F\u002Fcms.lcdev.fr\u002Fwp-content\u002Fuploads\u002F2026\u002F07\u002Fgenerer-sitemap-laravel.png",{"aperture":152,"credit":26,"camera":26,"caption":26,"created_timestamp":152,"copyright":26,"focal_length":152,"iso":152,"shutter_speed":152,"title":26,"orientation":152,"keywords":153,"alt":26},"0",[],{"self":155,"collection":159,"about":162,"author":165,"replies":167,"wp:attached-to":170,"curies":174},[156],{"href":69,"targetHints":157},{"allow":158},[46],[160],{"href":161},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia",[163],{"href":164},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Ftypes\u002Fattachment",[166],{"embeddable":55,"href":56},[168],{"embeddable":55,"href":169},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fcomments?post=18",[171],{"embeddable":55,"post_type":14,"id":172,"href":173},8,"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F8",[175],{"name":82,"href":83,"templated":55},[177,199],[178],{"id":30,"link":179,"name":180,"slug":181,"taxonomy":75,"_links":182},"https:\u002F\u002Fcms.lcdev.fr\u002Fcategory\u002Flaravel\u002F","Laravel","laravel",{"self":183,"collection":188,"about":191,"wp:post_type":194,"curies":197},[184],{"href":185,"targetHints":186},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories\u002F4",{"allow":187},[46],[189],{"href":190},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories",[192],{"href":193},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Ftaxonomies\u002Fcategory",[195],{"href":196},"https:\u002F\u002Fcms.lcdev.fr\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts?categories=4",[198],{"name":82,"href":83,"templated":55},[],1785314930927]