最新公告
  • 欢迎您光临大资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • WordPress SEO优化 如何自动为文章添加标签链接增加站点内链

    WordPress SEO优化 如何自动为文章添加标签链接增加站点内链 最后编辑:2021-02-26
    增值服务: 自动发货 使用说明 安装指导 环境配置二次开发BUG修复

    关于wordpress程序的SEO优化,柠檬也有点迷茫,插件太多。先不纠结插件的问题,我们先把SEO基础做好。 这篇教程是做网页TAG内联的。易源码本站所有教程优先使用免插件版。

    怎么自动为wordpress文章内的TAG添加内联?

    WordPress纯代码实现自动添加文章标签链接的方法?其实很简单,我们只需在自己主题的functions.php文件最后一个?>前添加下面代码即可。

    自动标签链接代码

    // WordPress 自动为文章添加已使用过的标签
    function array2object($array) { // 数组转对象
    if (is_array($array)) {
    $obj = new StdClass();
    foreach ($array as $key => $val){
    $obj->$key = $val;
    }
    }
    else {
    $obj = $array;
    }
    return $obj;
    }
    function object2array($object) { // 对象转数组
    if (is_object($object)) {
    foreach ($object as $key => $value) {
    $array[$key] = $value;
    }
    }
    else {
    $array = $object;
    }
    return $array;
    }
    add_action(‘save_post’, ‘auto_add_tags’);
    function auto_add_tags(){
    $tags = get_tags( array(‘hide_empty’ => false) );
    $post_id = get_the_ID();
    $post_content = get_post($post_id)->post_content;
    if ($tags) {
    $i = 0;
    $arrs = object2array($tags);shuffle($arrs);$tags = array2object($arrs);// 打乱顺序
    foreach ( $tags as $tag ) {
    // 如果文章内容出现了已使用过的标签,自动添加这些标签
    if ( strpos($post_content, $tag->name) !== false){
    if ($i == 5) { // 控制输出数量
    break;
    }
    wp_set_post_tags( $post_id, $tag->name, true );
    $i++;
    }
    }
    }
    }
    /* 自动为文章内的标签添加内链 */
    $match_num_from = 1; //一篇文章中同一个标签少于几次不自动链接
    $match_num_to = 1; //一篇文章中同一个标签最多自动链接几次
    function tag_sort($a, $b){
    if ( $a->name == $b->name ) return 0;
    return ( strlen($a->name) > strlen($b->name) ) ? -1 : 1;
    }
    function tag_link($content){
    global $match_num_from,$match_num_to;
    $posttags = get_the_tags();
    if ($posttags) {
    usort($posttags, “tag_sort”);
    foreach($posttags as $tag) {
    $link = get_tag_link($tag->term_id);
    $keyword = $tag->name;
    $cleankeyword = stripslashes($keyword);
    $url = “<a href=”$link” title=””.str_replace(‘%s’,addcslashes($cleankeyword, ‘$’),__(‘【查看更多[%s]标签的文章】’)).”””;
    $url .= ‘ target=”_blank”‘;
    $url .= “>”.addcslashes($cleankeyword, ‘$’).”</a>”;
    $limit = rand($match_num_from,$match_num_to);
    $content = preg_replace( ‘|(<a[^>]+>)(.*)(‘.$ex_word.’)(.*)(</a[^>]*>)|U’.$case, ‘$1$2%&&&&&%$4$5’, $content);
    $content = preg_replace( ‘|(<img)(.*?)(‘.$ex_word.’)(.*?)(>)|U’.$case, ‘$1$2%&&&&&%$4$5′, $content);
    $cleankeyword = preg_quote($cleankeyword,”’);
    $regEx = ”(?!((<.*?)|(<a.*?)))(‘. $cleankeyword . ‘)(?!(([^<>]*?)>)|([^>]*?</a>))’s’ . $case;
    $content = preg_replace($regEx,$url,$content,$limit);
    $content = str_replace( ‘%&&&&&%’, stripslashes($ex_word), $content);
    }
    }
    return $content;
    }
    add_filter(‘the_content’,’tag_link’,1);

    柠檬有话说:

    把上面代码添加到functions.php文件后,当我们发布、更新、保存文章时,会自动检测文章中是否有标签关键词,如果有就会自动添加这些标签的链接。如这篇文章有标签:易源码,那么只要我们的文章内容中出现有易源码的关键词,那么就会自动为“易源码”添加标签链接变成内链。

    只要我们站点的Tag标签够多的情况下,使用这两个代码以实现WordPress站点自动为文章添加标签和标签内链,那么将会大大减少我们的工作量。如果大家平时不喜欢人工添加标签的,不妨试试这个方法。

    注意事项:

    上面代码中$match_num_to = 1; //一篇文章中同一个标签最多自动链接几次,这个建议最多只设置3次。

    注意事项:

    如果不用自动添加文章标签

    把这些代码删了

    // WordPress 自动为文章添加已使用过的标签
    function array2object($array) { // 数组转对象
    if (is_array($array)) {
    $obj = new StdClass();
    foreach ($array as $key => $val){
    $obj->$key = $val;
    }
    }
    else {
    $obj = $array;
    }
    return $obj;
    }
    function object2array($object) { // 对象转数组
    if (is_object($object)) {
    foreach ($object as $key => $value) {
    $array[$key] = $value;
    }
    }
    else {
    $array = $object;
    }
    return $array;
    }
    add_action(‘save_post’, ‘auto_add_tags’);
    function auto_add_tags(){
    $tags = get_tags( array(‘hide_empty’ => false) );
    $post_id = get_the_ID();
    $post_content = get_post($post_id)->post_content;
    if ($tags) {
    $i = 0;
    $arrs = object2array($tags);shuffle($arrs);$tags = array2object($arrs);// 打乱顺序
    foreach ( $tags as $tag ) {
    // 如果文章内容出现了已使用过的标签,自动添加这些标签
    if ( strpos($post_content, $tag->name) !== false){
    if ($i == 5) { // 控制输出数量
    break;
    }
    wp_set_post_tags( $post_id, $tag->name, true );
    $i++;
    }
    }
    }
    }
    /* 自动为文章内的标签添加内链 */
    $match_num_from = 1; //一篇文章中同一个标签少于几次不自动链接
    $match_num_to = 1; //一篇文章中同一个标签最多自动链接几次
    function tag_sort($a, $b){
    if ( $a->name == $b->name ) return 0;
    return ( strlen($a->name) > strlen($b->name) ) ? -1 : 1;
    }
    function tag_link($content){
    global $match_num_from,$match_num_to;
    $posttags = get_the_tags();
    if ($posttags) {
    usort($posttags, “tag_sort”);
    foreach($posttags as $tag) {
    $link = get_tag_link($tag->term_id);
    $keyword = $tag->name;
    $cleankeyword = stripslashes($keyword);
    $url = “<a href=”$link” title=””.str_replace(‘%s’,addcslashes($cleankeyword, ‘$’),__(‘【查看更多[%s]标签的文章】’)).”””;
    $url .= ‘ target=”_blank”‘;
    $url .= “>”.addcslashes($cleankeyword, ‘$’).”</a>”;
    $limit = rand($match_num_from,$match_num_to);
    $content = preg_replace( ‘|(<a[^>]+>)(.*)(‘.$ex_word.’)(.*)(</a[^>]*>)|U’.$case, ‘$1$2%&&&&&%$4$5’, $content);
    $content = preg_replace( ‘|(<img)(.*?)(‘.$ex_word.’)(.*?)(>)|U’.$case, ‘$1$2%&&&&&%$4$5′, $content);
    $cleankeyword = preg_quote($cleankeyword,”’);
    $regEx = ”(?!((<.*?)|(<a.*?)))(‘. $cleankeyword . ‘)(?!(([^<>]*?)>)|([^>]*?</a>))’s’ . $case;
    $content = preg_replace($regEx,$url,$content,$limit);
    $content = str_replace( ‘%&&&&&%’, stripslashes($ex_word), $content);
    }
    }
    return $content;
    }
    add_filter(‘the_content’,’tag_link’,1);

     

    猜你在找

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    大资源网
    一个高级程序员模板开发平台
    • 2020-11-21Hi,初次和大家见面了,请多关照!

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站的问题处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 3482249445@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者
    • 7030会员总数(位)
    • 163675资源总数(个)
    • 2704本周发布(个)
    • 2094今日发布(个)
    • 3679稳定运行(天)

    开通VIP 知识课堂
    升级SVIP尊享更多特权立即升级
    My title page contents
    召唤伊斯特瓦尔