在WordPress的网站优化过程中,伪静态(也称为URL重写)是一个非常重要的环节。通过伪静态,我们可以将动态的URL转换为静态的URL,提高搜索引擎的收录,优化用户体验,还能在一定程度上提升网站的SEO效果。本文将为大家深入解析WordPress伪静态Tag的设置方法,并分享一些实战技巧,帮助大家轻松实现伪静态优化。
一、什么是WordPress伪静态
在谈论WordPress伪静态之前,我们先来了解一下什么是伪静态。伪静态是一种将动态URL转换为静态URL的技术,它通过在服务器端进行URL重写,将动态的URL映射到静态的URL上,从而提高用户体验和SEO效果。
二、WordPress伪静态Tag的作用
1. 提高用户体验:静态URL更符合用户的阅读习惯,易于记忆和分享。
2. 提升SEO效果:静态URL更容易被搜索引擎收录,有利于提高网站的排名。
3. 优化网站结构:伪静态可以帮助我们更好地组织网站内容,使网站结构更加清晰。
三、WordPress伪静态Tag的设置方法
WordPress伪静态的设置方法主要分为以下几步:
1. 检查服务器环境:伪静态的实现需要服务器支持,如Apache服务器需要安装mod_rewrite模块,Nginx服务器需要配置rewrites规则。
2. 开启伪静态功能:进入WordPress后台,在“设置”-“永久链接”中,选择“自定义结构”选项,并输入以下伪静态规则:
“`
/%category%/%postname%/
“`
3. 修改`.htaccess`文件:将以下代码添加到`.htaccess`文件中:
“`
RewriteEngine On
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?category_name=$1&name=$2 [L]
“`
4. 保存并退出:保存修改后的`.htaccess`文件,并退出WordPress后台。
四、WordPress伪静态Tag的实战技巧
1. 合理设置伪静态规则:根据网站实际情况,选择合适的伪静态规则,如使用分类名、标签、作者等作为URL的一部分。
2. 注意URL长度:伪静态URL的长度不宜过长,一般建议不超过50个字符。
3. 避免重复URL:确保每个伪静态URL对应的内容是唯一的,避免出现重复的URL。
4. 使用301重定向:在修改伪静态规则后,使用301重定向将旧URL重定向到新URL,避免出现404错误。
五、常见问题解答
1. 为什么我的伪静态设置不生效?
答:首先检查服务器是否支持伪静态,其次检查`.htaccess`文件是否正确修改,最后检查是否开启了伪静态功能。
2. 伪静态会对SEO产生负面影响吗?
答:不会。伪静态可以提高用户体验和SEO效果,但要注意合理设置伪静态规则,避免出现重复URL等问题。
3. 伪静态会影响网站收录吗?
答:不会。伪静态可以提高搜索引擎收录,但要注意优化网站内容,提高网站质量。
六、总结
WordPress伪静态Tag的设置方法并不复杂,但要注意合理设置伪静态规则,避免出现重复URL等问题。通过本文的解析和实战技巧分享,相信大家已经对WordPress伪静态Tag有了更深入的了解。希望这篇文章能帮助大家轻松实现伪静态优化,提升网站SEO效果。
如何将织梦dede搜索改为URL伪静态
dede5.7伪静态设置七步法:
第一步、后台-系统参数-核心设置-是否使用伪静态:选择“是”;
注:你的网站空间是否支持伪静态,你可以与空间的IDC商联系一下,如果是自己的服务器,那就更好办了,自己动手,丰衣足食。一般来说,空间都是支持伪静态的。Apache服务器伪静态相对简单,直接在.htaccess文件中加入相应伪静态规则即可;而IIS服务器伪静态的实现,则需要加载Rewrite组件,然后配置httpd.ini文件。
第二步、如果你的网站已经存在生成的静态栏目或文章HTML,那么只需在后台-系统-SQL命令行工具中执行如下语句:
将所有文档设置为“仅动态浏览”:
update dede_archives set ismake=-1
将所有栏目设置为“使用动态页”:
update dede_arctype set isdefault=-1
第三步、列表页、文章页伪静态修改
打开/include/helpers/channelunit.helper.php。
(1)查找:
//动态文章
if($cfg_rewrite=='Y')
{
return$GLOBALS[“cfg_plus_dir”].”/view-“.$aid.'-1.html';
}
替换为
//动态文章
if($cfg_rewrite=='Y')
{
return”/DedeCMS/DedeCMS5.7-“.$aid.'-1.html';
}
意思是:将默认的/plus/view-1-1.html文章链接格式改为/DedeCMS/DedeCMS5.7-1-1.html。
(2)查找:
//动态
$reurl=$GLOBALS['cfg_phpurl'].”/list.php?tid=”.$typeid;
替换为
//动态
$reurl=”/category/list-“.$typeid.”.html”;
意思是:将默认的频道或是列表页URL/plus//list.php?tid=1变更为/dedecms/list-1.html形式。
第四步、列表分页伪静态修改
打开/include/arc.listview.class.php
查找:
$plist= str_replace('.php?tid=','-',$plist);
替换为
$plist= str_replace('plus/list.php?tid=',‘DedeCMS/DedeCMS5.7-',$plist);
将默认的plus/list.php?tid=替换成RMB/list-;
意思是:将默认的列表分页链接格式plus/list.php?tid=x$x$xl修改为DedeCMS/DedeCMS5.7-x-x-x.html。
第五步、文章分页伪静态
打开/include/arc.archives.class.php,找到获取动态的分页列表GetPagebreakDM()函数末尾处:
查找:
$PageList= str_replace(“plus/view.php?tid=”,”DedeCMS/DedeCMS5.7-“,$PageList);
替换为
$plist= str_replace('plus/view.php?tid=',’DedeCMS/DedeCMS5.7-',$plist);
将默认的plus/view.php?tid=替换成RMB/huilv-;
意思是:将默认的文章分页链接格式plus/view.php?tid=x$x$xl修改为DedeCMS/DedeCMS5.7-x-x-x.html
第六步、TAG标签伪静态
DedeCms默认的TAG标签URL,形如/tags.php?/dedecms模板/,是不是觉得有个问号不怎么爽,我们改成/tags/dedecms模板/,是不是好看多了。
下面我们来改一下,打开/include/taglib/tag.lib.php:
查找:
$row['link']=$cfg_cmsurl.”/tags.php?/”.urlencode($row['keyword']).”/”;
替换为
$row['link']=$cfg_cmsurl.”/tags/”.urlencode($row['keyword']).”/”;
这样就修改好了,上传你到你的网站,切记:要记得将原网站备份哦!!
第七步、httpd.ini伪静态规则:
[ISAPI_Rewrite]
# 3600= 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^(.*)/RMB/list-([0-9]+)\.html$1/plus/list\.php\?tid=$2 [I]
RewriteRule ^(.*)/RMB/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$1/plus/list\.php\?tid=$2&TotalResult=$3&PageNo=$4 [I]
RewriteRule ^(.*)/RMB/huilv-([0-9]+)-([0-9]+)\.html$1/plus/view\.php\?arcID=$2&pageno=$3 [I]
RewriteRule ^(.*)/(.*)_(.*)_([0-9]+)\.html$1/huilv/?from=$2&to=$3&num=$4 [I]
RewriteRule ^(.*)/tags\.html$1/tags\.php [I]
RewriteRule ^(.*)/tags/(.*)(?:(\?.*))*$1/tags\.php\?\/$2 [I]
RewriteRule ^(.*)/tags/(.*)\/(?:(\?.*))*$1/tags\.php\?\/$2\/ [I]
RewriteRule ^(.*)/tags/(.*)\/([0-9])(?:(\?.*))*$1/tags\.php\?\/$2\/$3 [I]
RewriteRule ^(.*)/tags/(.*)\/([0-9])\/(?:(\?.*))*$1/tags\.php\?\/$2\/$3\/ [I]
将上面代码保存为:httpd.ini上传到网站的根目录。
如无特特殊需求建议采用官方默认的生成静态的页面方式浏览。
如何自定义wordpress文章的固定链接
WordPress是一款开源网站建设程序,因其强大的功能和可扩展性而大受欢迎。关于WordPress扩展,主要是其插件众多,可以使用不同功能插件来扩展网站需求。WordPress所有固有的内容类型非常有限,毕竟其开始是以博客系统为基础的。对于像企业站需要的产品类型,电影站需要的国家属性等,显示不便。现在推荐一款自定义内容类型/字段分类法插件–Pods可以扩展你所需要的内容类型。
pods是一款用在 WordPress上的自定义内容类型的插件,但是 pods拥有的功能却完全不限于此。pods能够扩展现有的内容类型,比如为用户资料(user)增加一个“电话”字段。此外,它还有权限管理功能,类似于“members”插件。此外,还有高级自定义内容类型,改变“标题”这个字段名称。再此外,它还有内容关系的功能。
这篇文章我们除了介绍 pods的使用方法以外,还会介绍内容类型的列表页,内容页的制作,pods字段的前台模板调用,增加内容类型到菜单等等。
扩展已有
WordPress默认有三大内容类型:文章(posts)、页面(page)、媒体(attachment),可能“用户(user)”也算一个内容类型,因为“用户”也可以扩展。默认的分类法有:分类目录(category)、标签(tag)。默认的内容类型和分类法在项目中字段经常不够用。
扩展文章字段
1、安装好 pods后,点击“pods管理-添加”,点击“扩展已有”、选择“内容类型(文章、页面,等等)”,下方选择“文章”,点击“下一步”。
2、点击“添加字段”,比如添加一个“文章来源”的文本类型的字段,这里有几个选框。
代表的含义为:
标签:显示在发布时候的名称,可以为中文。
名称:内部使用,存在数据库里的名称,可用于模板调用,只能为字母、数字、下划线,不能以数字开头。
描述:发布时对字段的简要说明,选填。
字段类型:字段的类型,如,文本框、文本区域、文件等等。
选项:该字段是否为必填。
3、点击“添加字段”,完成添加,点击“Save Pod”保存添加。
这个时候去发布文章看看,在下方就多了个文章来源字段了。快点去用同样的方法可以为页面、媒体、用户、评论添加自定义字段吧。
创建新的
创建新的内容类型
进入到 pods的添加界面,选择“创建新的”,接下来选择“自定义内容类型”。
标签填写内容类型名称,可以为中文,比如填写个“电影”,点击下面的“高级”,在 pod name填写内容类型的机读名称,点击“下一步”,完成一个自定义内容类型的创建,你可以在左边栏找到“电影”这个内容类型。
为自定义内容类型添加字段。新创建的自定义内容类型,默认拥有“文章”这个内容类型的所有字段,比如标题、内容、日期等等,我们是在这些基础上添加新的需要的字段,比如现在添加一些字段:海报、地区、时长、年份等等。再去发布“电影”,你会发现下方多了刚刚添加的这些字段。
创建好自定义内容类型后,你会发现还有很多标签页:“管理字段”、标签、管理界面、高级选项。
标签:在后台显示的标签,根据需要修改。
管理界面:管理内容类型在后台的显示,尝试把菜单位置改为更大的值试试看。
高级选项:对自定义内容类型的设置,请把“拥有归档”勾上。
创建自定义分类法
打开 pods的添加界面,选择“创建新的”,接下来选择“自定义分类法”。
标签填写分类法名称,可以中文,比如填写“电影类型”,点击下面的“高级”,在 pod name填写分类法的机读名称,点击“下一步”,完成一个自定义分类法的创建。
创建完成以后,有几个标签页,主要关注以下几个:
高级选项中,“层级”,表示该分类法是否有层级关系,打上勾相当于“分类目录”分类法,不打钩相当于“标签”分类法,我建议打上勾。“相关内容类型”,为这个分类法应用到哪一个内容类型,比如我这里,勾上了“电影”。我在发布电影的时候,在右边栏就可以有电影类型选择了。
其他字段:这是为自定义分类法添加字段,这个按照需要开启,比如你想为电影类型中的科幻片分类添加一个略缩图字段等等。
创建自定义设置页面—制作主题选项
有没有觉得做主题的时候,为主题添加选项比较麻烦,pods有个超简单的方法,使用自定义设置页面轻松搞定。
打开 pods的添加界面,选择“创建新的”,接下来选择“自定义设置页面”,标签填写页面名称,可以使用中文,比如填写“主题选项”,菜单位置由自己选:在设置菜单、外观菜单下,新菜单,我这里选择添加到外观菜单。点击下面的“高级”,在 pod name填写自定义设置页面的机读名称,点击“下一步”,这样就完成了一个自定义页面的创建。
创建完成以后,可以去添加一些字段,比如我添加了:网站 logo、网站标题、网站关键字、网站描述、统计代码、网站备案号字段,要注意字段类型。
接下来保存后看看你的左边栏对应的菜单位置吧。
好了,pods的基础功能就这么一些,这些功能网上很多插件都能实现,其实更重要的内容,还在于他的组件,pods的组件给 pods扩充了非常多的功能,这才是 pods真正的强大之处。
pods组件
高级自定义内容类型
进入“pods管理-组件”,启用“Advance Content Type”。
这个时候,到 pods的添加页面,多了一项“高级内容类型”,选择它,这里我重新建立一个电影内容类型。点击“下一步”完成创建。
创建完成之后,会发现默认有了一些字段,这就是 WordPress默认的字段,你可以修改或者删除它。
编辑好字段以后,再去看看其他标签页。下面主要介绍重要的设置:
“管理界面”的“管理界面样式”,可以自己写个 WordPress管理后台页面。
“高级选项”的“标题字段”,如果修改了标题字段,或者想要改变标题字段,请在这里选择。
高级内容关系
进入“pods管理-组件”,启用“Advance Relationships”,这个时候在添加内容关系字段以后,你可以看到多了几行,这些高级的内容关系,可以创建更加复杂的内容关系。
权限与角色管理
进入“pods管理-组件”,启用“Roles and Capabilities”,如果你用过 members插件,你会发现这功能和 members功能很相似,一样的强大。可以对所有的权限分角色的管理,可以添加、编辑、删除用户角色。
更多组件
pods管理后台还有其他实用的组件,更多的组件功能,不一一介绍,看组件名字大概能清楚他的功能。pods官方有提供其他组件,一些是单独的插件,一些是配合 pods工作的组件。
前端调用
模板命名
我发现,虽然很多人都会用自定义内容类型,但是内容类型的列表页不好做,即使做好,又该怎么放到菜单上显示出来,比如将“电影”列表页放在菜单中,自定义内容类型绑定了一个自定义分类法,又该怎么去显示分类法中某个分类下的文章,比如“科幻片”这个电影分类。
模板命名规则:
自定义内容类型模板命名规则:archive-{post_type_name}.php如 archive-movies.php
自定义分类法模板命名规则:taxonomy-{taxonomy_name}.php如 taxonomy-movie_type.php
自定义内容类型内容页模板命名规则:single-{post_type_name}.php如 single-movies.php
将内容类型加入到菜单,需要安装一个插件“Custom Post Type's Archive in WP Nav Menu”,安装好之后,没有任何设置界面,进入到“外观-菜单”,你可以发现菜单编辑区域的左边有了一个custom post type archives,现在内容类型就在这里了,如果你发现内容类型不在这,那就请到 pods的内容类型管理界面的高级选项中确认你的“拥有存档”这个选项已经打上勾了。
注:可能由于缓存问题,如果发现添加了内容类型到菜单后,前台点击内容类型的菜单出现404页面,请到“设置-固定链接”,点击一下保存即可。
数据调用
后台配置好,其实最主要的,还是要能够显示出来才是最重要的,pods的显示方法有三种:
短代码方式显示,短代码请参考 pods短代码文档,配合 pods官方提供的 magic tags。
利用 pods的“page”和“template”组件,这两个组件可在 pods组件中开启,请参考文章。
利用模板函数,即将重点介绍。
这里只介绍模板函数方式调用 pods数据,因为这才是做主题开发时能使用的东西。
输出函数
Pods显示数据函数
pods_field_display($pod,$post->ID,'$field)
关于该函数的文档,请查看 pods官方文档。
function pods_field_display($pod,$id= false,$name= null,$single= false)
参数数据类型备注
$pod(string) Pod name,即为 pods机读名称
$id(mixed)(选填)某篇文章ID或slug,以查询该篇文章数据
$name(string|array)字段名称,或者关联数组的参数
$single(boolean)(选填)是否以数组的形式返回
图像字段输出函数
pods_field_display()不会真正的显示出一张图片,而是显示出图片的 URL,pods特地为图片显示定义了一个函数:
pods_image($image,$size='thumbnail',$default= 0,$attributes='',$force= false)
关于该函数文档,请查看官方文档。
function pods_image($image,$size='thumbnail',$default= 0,$attributes='',$force= false)
参数数据类型备注
$image(array|int|string)图片字段的数组,或ID,或guid
$size(string|array)图片大小样式
$default(int)如果图片不存在,则显示该图片$default
$attributes(string|array)图片属性(内部通过 wp_get_attachment_image获取)
$force(boolean)强制规定大小
图片有单张图片和多张图片,如不清楚单张与多张,请到 pods添加字段查看。如果字段是多张图片,那么会返回一个数组,所以,输出图像字段的代码为:
单张图片字段示例代码:
<?php
echo pods_image( get_post_meta($post->ID,$image_field_name, true),’original’);
?>
多张图片字段:
<?php
$images=get_post_meta($post->ID,’images’);
foreach($images as$image)
{
echo pods_image($image,’original’);
}
?>
输出字段注意事项:
yes/no字段:后台勾选“是”输出 1,不勾选输出空值。
Code字段:可执行 php脚本代码,输出 php代码执行结果。
Website字段:本人无法输出该字段内容,请勿使用。
因为 pods自定义字段也属于 WordPress内部自定义字段,所以依然可以使用 WordPress的 get_post_meta()输出,但是也并不是所有字段都能输出,经过测试,可直接使用 get_post_meta()函数输出的字段有:
Phone
Password
Pptext
Date time
Pnumber
Currency
Color
对于其他字段,请使用 pods_field_display();
模板代码段示例
在主循环中
代码示例:
<?php if(have_posts()):while(have_posts()): the_post();?>
<h1>
<a href=””>
<?php the_title();?>
</a>
</h1>
<!–标题–>
<div>
<div>
<span>年份:</span>
<?php echo pods_field_display('movie',$post->ID,'time');//显示(年份)time字段?>
</div>
<div>
<span>区域:</span>
<?php echo pods_field_display('movie',$post->ID,'zone');//显示(区域)zone字段?>
</div>
<div>
<span>时长:</span>
<?php echo pods_field_display('movie',$post->ID,'how_long');//显示(时长)how_long字段?>
<span>分钟</span>
</div>
<div>
<span>海报:</span>
<?php echo pods_image( get_post_meta($post->ID,'poster', true),'original');//显示海报字段?>
</div>
</div>
<!–显示自定义字段–>
<div>
<?php the_excerpt();?>
</div>
<!–内容摘要–>
<?php endwhile;endif;?>
万能循环示例代码
<?php query_posts('showposts=5&post_type=movie');while(have_posts()): the_post();?>
<h1>
<a href=””>
<?php the_title();?>
</a>
</h1>
<!–标题–>
<div>
<div>
<span>年份:</span>
<?php echo pods_field_display('movie',$post->ID,'time');//显示(年份)time字段?>
</div>
<div>
<span>区域:</span>
<?php echo pods_field_display('movie',$post->ID,'zone');//显示(区域)zone字段?>
</div>
<div>
<span>时长:</span>
<?php echo pods_field_display('movie',$post->ID,'how_long');//显示(时长)how_long字段?>
<span>分钟</span>
</div>
<div>
<span>海报:</span>
<?php echo pods_image( get_post_meta($post->ID,'poster', true),'original');//显示海报字段?>
</div>
</div>
<!–显示自定义字段–>
<div>
<?php the_excerpt();?>
</div>
<!–内容摘要–>
<?php endwhile;wp_reset_query();?>
自定义设置页面(调用主题选项数据)
请注意$id参数为 pods-settings-{slug_name},比如我的 pods name为 theme_option,那么$id的实参应该为'pods-settings-theme_option'。
<?php echo pods_field_display('theme_option','pods-settings-theme_option','site_logo');?>
<?php echo pods_field_display('theme_option','pods-settings-theme_option','site_title');?>
<?php echo pods_field_display('theme_option','pods-settings-theme_option','site_keyword');?>
<?php echo pods_field_display('theme_option','pods-settings-theme_option','site_description');?>
<?php echo pods_field_display('theme_option','pods-settings-theme_option','site_tongji');?>
<?php echo pods_field_display('theme_option','pods-settings-theme_option','site_beian');?>
博客用WordPress好还是Z
建博客用Wordpress好还是Z-blog好?其实这个问题并不存在什么争议,本来就是习惯用哪个喜欢用哪个就用哪个的问题。对于大多数朋友而言,这两个博客的功能都是够用的。但是很多站长都会考虑几个问题:1.哪个博客程序功能强大,插件多且操作简单?2.哪个博客程序主题多,修改方便?3.哪个博客程序对搜索引擎更友好,更容易被收录?大家关心最多的无非就是这3个问题。我也为是选择Wordpress还是Z-blog纠结过,我博客最初的程序是Z-blog搭建的,后来才换的Wordpress。这里说说我的看法。1.适用主机类型:Z-blog是ASP的,适用WIN主机,而不适用Linux主机。所以如果你的是Linux主机,那么没有选择了,直接使用Wordpress吧。再就是Wordpress涉及Mysql数据库,而Z-blog只需要Access数据库,Access一般的WIN主机都会带有。2.博客主要功能:博客的主要功能就是发布展现内容,在这个方面Wordpress和Z-blog并没有多大区别。但是其他方便还是有区别的。比如Wordpress是动态的,当然如果有条件你可以进行伪静态,Z-blog则可以选择直接生成静态。而其他功能对比上,Wordpress自然更胜一筹,只是很多朋友也许都用不到,大家经常用到的,二者也差不多。3.操作及插件:操作方面Wordpress无疑也更强大,但是Z-blog更符合中国人的习惯,而且很简单易用。插件方面用到的就那么几款,基本上两者都差不多,不必太强求。4.可选主题:这个方面Wordpress和Z-blog都不少,主要看个人喜好。我个人就比较喜欢Wordpress的风格。当然如果你有实力,两者的主题都是可以修改的。5.哪个程序对搜索引擎更友好?看来重点还是最后这个问题。收录上两者都没有问题,两者对搜索引擎都很友好,再说了SEO做得怎么样程序方面的差别并不是很明显。只要自己用得上手的基本都是不错的程序了,Wordpress的伪静态Z-blog的静态其实也差不多,当然很多人都认同生成静态比伪静态好,我也同意,至于好多少,我就没有深入研究了。本身两者都是优化做得很好的程序,如果一定要比只能说Wordpress对Google更友好,其他并无太大区别。总结:1.Linux主机选用Wordpress合适。2.没什么特殊要求的新手建议用Z-blog,懂点技术的用Wordpress吧,你会感觉到他的强大,有些功能或许你晚些时候会用得上。以上只是一些小小的使用建议,希望对纠结中的朋友有点帮助。您可能也喜欢:短文学上线两个月小感有必要写点什么,一些感慨吧升级WordPress3.0.1解决Google不收录中文TAG问题博客投入WordPress的怀抱