网站地图在网站seo优化中起着非常重要的作用,它更有利于搜索引擎抓取和识别你网站内容的结构。而我们如果wordpress程序做网站,它使用的是php语言,这时候我们就可以用php制作一个网站地图。
以下就是一个适合用在wordpress程序中的一个php代码编写的网站地图生成文件,包含文章、分类、页面的生成。
详细代码如下:
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;
注意,以上代码只是一个示例,具体的可能还需要个人需求进行相应的调整和优化。比如:
- 在实际应用中,可能需要更多的优化,如对文章和页面缩略名等的处理,以确保网址的准确性。
- 根据你的WordPress安装情况以及功能需求,可能需要调整相关函数的使用方式或者参数。
- 如果你的网站数据量庞大,可能需要优化查询数据库的方式以避免性能问题。你可以根据自己的具体需求对这个代码进行进一步的定制和完善。