{"id":232686,"date":"2023-01-26T10:39:00","date_gmt":"2023-01-26T07:39:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232686"},"modified":"2023-02-05T13:23:32","modified_gmt":"2023-02-05T10:23:32","slug":"como-enviar-sitemaps-usando-php-automaticamente","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/como-enviar-sitemaps-usando-php-automaticamente\/","title":{"rendered":"Como enviar Sitemaps usando PHP automaticamente?"},"content":{"rendered":"<p>Os Sitemaps s\u00e3o \u00fateis para os bots de pesquisa conhecerem melhor as estruturas do seu site. Eles s\u00e3o particularmente \u00fateis se o seu site cont\u00e9m v\u00e1rias centenas de p\u00e1ginas. Voc\u00ea pode fazer login no <a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/substitua-a-caixa-de-pesquisa-embutida-do-wordpress-pela-pesquisa-personalizada-do-google\/\" title=\"Google Webmaster\">Google Webmaster<\/a> ou no Bing Master (ou outras ferramentas de site semelhantes) para enviar os mapas do site manualmente. Se voc\u00ea tiver muitos sitemaps (ou muitos sites), isso ser\u00e1 uma dor de cabe\u00e7a. Que tal enviar mapas do site automaticamente (para que <a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/como-adicionar-o-google-search-engine-ao-wordpress-blog-widget-codigo-html-simples\/\" title=\"os mecanismos de pesquisa\">os mecanismos de pesquisa<\/a> saibam que voc\u00ea tem atualiza\u00e7\u00f5es)?<\/p>\n<p>Mapa do site<\/p>\n<p>Primeiro defina a matriz de URLs de sitemaps usando <a href=\"https:\/\/helloacm.com\/php-script-to-execute-mysql-statements-in-a-text-file\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a> :<\/p>\n<pre><code>$sitemaps = array(\n\u00a0 \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/helloacm.com\/sitemap.xml\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;helloacm&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;sitemap&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;xml&lt;\/span&gt;&lt;\/a&gt;\",\n\u00a0 \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/codingforspeed.com\/sitemap.xml\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;codingforspeed&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;sitemap&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;xml&lt;\/span&gt;&lt;\/a&gt;\",\n\u00a0 \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/codingforspeed.com\/forum\/sitemap.php\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;codingforspeed&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;forum&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;sitemap&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;php&lt;\/span&gt;&lt;\/a&gt;\",\n\u00a0 \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/uploadbeta.com\/sitemap.xml\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;uploadbeta&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;sitemap&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;xml&lt;\/span&gt;&lt;\/a&gt;\",\n\u00a0 \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/rot47.net\/sitemap.xml\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;rot47&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;net&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;sitemap&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;xml&lt;\/span&gt;&lt;\/a&gt;\",\n\u00a0 \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/justyy.com\/sitemap.xml\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;justyy&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;sitemap&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;xml&lt;\/span&gt;&lt;\/a&gt;\",\n\u00a0 \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/steakovercooked.com\/sitemap.xml\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;steakovercooked&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;sitemap&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;xml&lt;\/span&gt;&lt;\/a&gt;\",\n\u00a0 \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/steakovercooked.com\/wedding\/sitemap.xml\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;steakovercooked&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;wedding&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;sitemap&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;xml&lt;\/span&gt;&lt;\/a&gt;\"\n);<\/code><\/pre>\n<p>Em seguida, defina duas fun\u00e7\u00f5es:<\/p>\n<pre><code>\/\/ cUrl handler to ping the Sitemap submission URLs for Search Engines\u2026\nfunction Submit($url){\n\u00a0 $ch = curl_init($url);\n\u00a0 curl_setopt($ch, CURLOPT_HEADER, 0);\n\u00a0 curl_exec($ch);\n\u00a0 $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);\n\u00a0 curl_close($ch);\n\u00a0 return $httpCode;\n}\n\u00a0\nfunction SubmitSiteMap($url) {\n\u00a0 $returnCode = Submit($url);\n\u00a0 if ($returnCode != 200) {\n\u00a0 \u00a0 echo \"Error $returnCode: $url &lt;BR\/&gt;\";\n\u00a0 } else {\n\u00a0 \u00a0 echo \"Submitted $returnCode: $url &lt;BR\/&gt;\";\n\u00a0 }\n}<\/code><\/pre>\n<p>Ent\u00e3o, tudo o que voc\u00ea precisa fazer \u00e9 iterar todos os <a href=\"https:\/\/helloacm.com\/creating-sitemap-generator-for-phpbb3-1-using-php\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">mapas<\/a> do site e envi\u00e1-los para os diferentes mecanismos de pesquisa:<\/p>\n<pre><code>foreach ($sitemaps as $sitemapUrl) {\n\u00a0 $sitemapUrl = htmlentities($sitemapUrl);\n\u00a0\n\u00a0 \/\/Google \u00a0\n\u00a0 $url = \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"http:\/\/www.google.com\/webmasters\/sitemaps\/ping?sitemap=\".$sitemapUrl\" rel=\"nofollow\"&gt;&lt;span&gt;http&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;www&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;google&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;webmasters&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;sitemaps&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;ping&lt;\/span&gt;&lt;span&gt;?&lt;\/span&gt;&lt;span&gt;sitemap&lt;\/span&gt;&lt;span&gt;=\".$&lt;\/span&gt;&lt;span&gt;sitemapUrl&lt;\/span&gt;&lt;\/a&gt;;\n\u00a0 SubmitSiteMap($url);\n\u00a0 \n\u00a0 \/\/Bing \/ MSN\n\u00a0 $url = \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"http:\/\/www.bing.com\/webmaster\/ping.aspx?siteMap=\".$sitemapUrl\" rel=\"nofollow\"&gt;&lt;span&gt;http&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;www&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;bing&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;webmaster&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;ping&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;aspx&lt;\/span&gt;&lt;span&gt;?&lt;\/span&gt;&lt;span&gt;siteMap&lt;\/span&gt;&lt;span&gt;=\".$&lt;\/span&gt;&lt;span&gt;sitemapUrl&lt;\/span&gt;&lt;\/a&gt;;\n\u00a0 SubmitSiteMap($url);\n\u00a0 \n\u00a0 \/\/ Live\n\u00a0 $url = \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"http:\/\/webmaster.live.com\/ping.aspx?siteMap=\".$sitemapUrl\" rel=\"nofollow\"&gt;&lt;span&gt;http&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;webmaster&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;live&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;ping&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;aspx&lt;\/span&gt;&lt;span&gt;?&lt;\/span&gt;&lt;span&gt;siteMap&lt;\/span&gt;&lt;span&gt;=\".$&lt;\/span&gt;&lt;span&gt;sitemapUrl&lt;\/span&gt;&lt;\/a&gt;;\n\u00a0 SubmitSiteMap($url);\n\u00a0 \n\u00a0 \/\/ moreover\n\u00a0 $url = \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"http:\/\/api.moreover.com\/ping?sitemap=\".$sitemapUrl\" rel=\"nofollow\"&gt;&lt;span&gt;http&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;api&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;moreover&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;ping&lt;\/span&gt;&lt;span&gt;?&lt;\/span&gt;&lt;span&gt;sitemap&lt;\/span&gt;&lt;span&gt;=\".$&lt;\/span&gt;&lt;span&gt;sitemapUrl&lt;\/span&gt;&lt;\/a&gt;;\n\u00a0 SubmitSiteMap($url);\n}<\/code><\/pre>\n<p>Adicione o seguinte ao in\u00edcio, que n\u00e3o define um limite de tempo, se voc\u00ea quiser adicionar este trabalho no <a href=\"https:\/\/helloacm.com\/php-script-to-test-crontab\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">crontab<\/a>.<\/p>\n<p>Finalmente, voc\u00ea pode adicionar isso ao <a href=\"https:\/\/helloacm.com\/how-to-get-a-email-when-system-load-average-is-high-crontab\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">crontab -e<\/a><\/p>\n<pre><code>@daily php submit_sitemap.php<\/code><\/pre>\n<p>E, a fun\u00e7\u00e3o Submit pode ser simplificada usando <a href=\"https:\/\/helloacm.com\/file_put_contents-substitute-in-php\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">file_get_contents<\/a> se voc\u00ea n\u00e3o quiser saber se o envio foi bem-sucedido (sem c\u00f3digo de retorno).<\/p>\n<pre><code>function Submit($url) {\n\u00a0 file_get_contents($url);\n}<\/code><\/pre>\n<p>O c\u00f3digo fonte completo est\u00e1 dispon\u00edvel no <a href=\"https:\/\/helloacm.com\/github\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">github<\/a>: <a href=\"https:\/\/github.com\/DoctorLai\/Sitemaps_PHP\/blob\/master\/submit_sitemaps.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">submit_sitemaps.php<\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como enviar Sitemaps usando PHP automaticamente?<\/p>\n","protected":false},"author":1,"featured_media":223852,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,722,998,806,1009,846,867],"tags":[1170],"class_list":["post-232686","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-desenvolvedor","category-marketing-de-conteudo","category-php-8","category-seo-9","category-tutoriais","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/232686","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=232686"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/232686\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/223852"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=232686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=232686"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=232686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}