WordPress网站建设+谷歌SEO优化就找WP花园,深圳公司!
HTML 站点地图(与 XML 站点地图相对)经常被提及对 SEO 有用。 如果你明智地使用它们,它们当然是(尤其是 Bing 有时似乎喜欢它们),但我更喜欢它们,因为事实上 用户 很喜欢他们。
有很多插件可以帮助您制作 HTML 站点地图。 这还不是我的 WordPress SEO 插件中的一个功能,但它可能会成为一个功能。 但问题是,在大多数情况下,您需要对站点地图执行特定操作,包括或排除某些页面/帖子类型,显示某些分类法等。这就是为什么我倾向于建议人们创建站点地图页面模板在他们的主题中并使用它。
事实上,我建议您使用主题部分,这样您也可以在 WordPress 404 错误页面上重复使用您的 HTML 站点地图模板。 为此,请按照以下步骤操作:首先,创建一个 部分 主题文件夹中的文件夹。 在那里面 部分 文件夹,创建一个名为 sitemap.php
.
将以下代码粘贴到该文件中,并根据您的站点需要进行调整:
<h2>Authors</h2>
<ul>
<?php wp_list_authors( array(
'exclude_admin' => false
) ); ?>
</ul>
<h2>Pages</h2>
<ul>
<?php
wp_list_pages( array(
'exclude' => '',
'title_li' => '',
) ); ?>
</ul>
<h2>Posts</h2>
<?php
$cats = get_categories('exclude=");
foreach ($cats as $cat) {
echo "<h3>' . $cat->cat_name . '</h3>';
echo '<ul>';
query_posts('posts_per_page=-1&cat=" . $cat->cat_ID);
while(have_posts()) {
the_post();
$category = get_the_category();
if ($category[0]->cat_ID == $cat->cat_ID) {
echo "<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
}
}
echo '</ul>';
}
现在,只要您在 WordPress 主题中需要 HTML 站点地图“位”,请使用以下命令:
<?php get_template_part('/partials/sitemap'); ?>
HTML 站点地图 WordPress 页面模板
例如,您可以为站点地图页面模板执行此操作。 要使用此代码创建站点地图页面模板,请复制您的 page.php
文件并将其重命名为 page-sitemap.php
. 现在打开它,在调用下面 the_content();
就在那里,添加 get_template_part()
上面提到的一点。 现在转到文件的第一行,打开后 <?php
(但之前 get_header()
),添加此注释:
/*
Template Name: Sitemap Page
*/
这将使 WordPress 将其识别为 HTML 站点地图模板。 这将允许您为 HTML 站点地图编写一些介绍性文本,然后显示完整的站点地图。
将自定义帖子类型添加到您的 HTML 站点地图
更新:如果您的 HTML 站点地图中也需要自定义帖子类型,请将此代码添加到其他代码下方:
<?php
foreach( get_post_types( array('public' => true) ) as $post_type ) {
if ( in_array( $post_type, array('post','page','attachment') ) ) {
continue;
}
$pt = get_post_type_object( $post_type );
echo '<h2>' . $pt->labels->name . '</h2>';
echo '<ul>';
query_posts('post_type=" . $post_type . "&posts_per_page=-1');
while( have_posts() ) {
the_post();
echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
}
echo '</ul>';
}
?>
阅读更多:为什么你应该购买 Yoast SEO Premium »
WordPress网站建设+谷歌SEO优化就找WP花园,深圳公司!
项目咨询:[email protected]