网站地图在网站seo优化中起着非常重要的作用,它更有利于搜索引擎抓取和识别你网站内容的结构。而我们如果wordpress程序做网站,它使用的是php语言,这时候我们就可以用php制作一个网站地图。

以下就是一个适合用在wordpress程序中的一个php代码编写的网站地图生成文件,包含文章、分类、页面的生成。WordPress完整网站地图PHP代码(包含文章、分类、页面)-第0张图片

详细代码如下:

php

<?php

// 生成网站地图头部

function generate_full_sitemap_header() {

$header = '<?xml version="1.0" encoding="UTF-8"?>'."\n";

$header.= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'."\n";

return $header;

}

// 为单个页面生成网站地图项

function generate_page_sitemap_url($page) {

$url = '<url>'."\n";

$url.= '<loc>'.get_permalink($page).'</loc>'."\n";

$url.= '<lastmod>'.get_post_modified_time('c', true, $page).'</lastmod>'."\n";

$url.= '<changefreq>weekly</changefreq>'."\n";

$url.= '<priority>0.8</priority>'."\n";

$url.= '</url>'."\n";

return $url;

}

// 为单个文章生成网站地图项

function generate_post_sitemap_url($post) {

$url = '<url>'."\n";

$url.= '<loc>'.get_permalink($post).'</loc>'."\n";

$url.= '<lastmod>'.get_post_modified_time('c', true, $post).'</lastmod>'."\n";

$url.= '<changefreq>daily</changefreq>'."\n";

$url.= '<priority>0.5</priority>'."\n";

$url.= '</url>'."\n";

return $url;

}

// 为分类目录生成网站地图项

function generate_category_sitemap_url($category) {

$url = '<url>'."\n";

$url.= '<loc>'.get_category_link($category).'</loc>'."\n";

$url.= '<lastmod>'.get_lastpostmodified('c', $category).'</lastmod>'."\n";

$url.= '<changefreq>monthly</changefreq>'."\n";

$url.= '<priority>0.3</priority>'."\n";

$url.= '</url>'."\n";

return $url;

}

// 生成网站地图尾部

function generate_full_sitemap_footer() {

return '</urlset>';

}

// 获取所有已发布的页面

$pages = get_pages(array(

'status' => 'publish'

));

// 获取所有已发布的文章

$posts = get_posts(array(

'numberposts' => -1,

'post_type' => 'post',

'post_status' => 'publish'

));

// 获取所有分类目录

$categories = get_categories();

// 生成完整的网站地图

$sitemap = generate_full_sitemap_header();

// 添加上所有页面的网站地图项

foreach ($pages as $page) {

$sitemap.= generate_page_sitemap_url($page->ID);

}

// 添加上所有文章的网站地图项

foreach ($posts as $post) {

$sitemap.= generate_post_sitemap_url($post->ID);

}

// 添加上所有分类的网站地图项

foreach ($categories as $category) {

$sitemap.= generate_category_sitemap_url($category->cat_ID);

}

$sitemap.= generate_full_sitemap_footer();

// 输出网站地图

header('Content - type: text/xml');

echo $sitemap;

注意,以上代码只是一个示例,具体的可能还需要个人需求进行相应的调整和优化。比如:

  1. 在实际应用中,可能需要更多的优化,如对文章和页面缩略名等的处理,以确保网址的准确性。
  2. 根据你的WordPress安装情况以及功能需求,可能需要调整相关函数的使用方式或者参数。
  3. 如果你的网站数据量庞大,可能需要优化查询数据库的方式以避免性能问题。你可以根据自己的具体需求对这个代码进行进一步的定制和完善。