第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

限制 Wordpress 中現(xiàn)有和新的永久鏈接 slugs 的大小以進(jìn)行 SEO

限制 Wordpress 中現(xiàn)有和新的永久鏈接 slugs 的大小以進(jìn)行 SEO

PHP
阿波羅的戰(zhàn)車 2023-10-21 20:00:05
我在 Google 上讀到一篇文章,其中提到為了良好的 SEO,最好將 URL 中的 slug 大小限制為 5 個(gè)單詞。當(dāng)我使用 WordPress 時(shí),鏈接會(huì)自動(dòng)分配給文章標(biāo)題。要僅用 5 個(gè)字重做所有鏈接,我必須花費(fèi)數(shù)月時(shí)間來(lái)編輯博客上的所有鏈接??梢宰詣?dòng)執(zhí)行此操作嗎?有一些函數(shù)或代碼可以實(shí)現(xiàn)這一點(diǎn)。我找到了這段代碼并將其添加到我的主題的功能頁(yè)面中,但沒(méi)有結(jié)果??创a:function pm_limit_slugs_length($uri) {    $max_words = 5; // If any part of URI contains more than 5 words, the slug will be limited to first 5 words    $new_title = '';    $slugs = explode('/', $uri);        for($i=0, $count = count($slugs); $i < $count; $i++) {        $slug = $slugs[$i];        $words = explode('-', $slug);                $new_title .= "/";        if(count($words) > $max_words) {            $new_title .= implode("-", array_slice($words, 0, $max_words));        } else {            $new_title .= $slug;        }    }        // Remove trailing slashes    $new_title = trim($new_title, "/");        return $new_title;}add_filter('permalink_manager_filter_default_post_uri', 'pm_limit_slugs_length', 99);add_filter('permalink_manager_filter_default_term_uri', 'pm_limit_slugs_length', 99);我在這里找到了代碼:https://permalinkmanager.pro/docs/filters-hooks/how-to-limit-the-number-of-words-in-wordpress-permalinks/如何使用它將 WordPress slug 大小限制為 5 個(gè)單詞?
查看完整描述

1 回答

?
手掌心

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊

首先,請(qǐng)注意是否值得這樣做:

影響 SEO 的因素實(shí)際上有數(shù)百個(gè)。您不需要實(shí)施所有這些,而且許多總體上不會(huì)產(chǎn)生很大的影響。在我看來(lái),這樣做很可能不會(huì)產(chǎn)生任何顯著的效果,而且只會(huì)讓事情變得更加困難。

更重要的是,要對(duì) SEO 產(chǎn)生任何影響,?slug 應(yīng)該包含您的關(guān)鍵字,如果您以編程方式更改它們,則無(wú)法確保 slug 包含關(guān)鍵字,因此您甚至可能弊大于利。

僅供參考,幾個(gè)版本前,WP 被更改為對(duì) slugs 實(shí)施此限制,然后很快又改回來(lái)。這對(duì)我來(lái)說(shuō)意味著它可能不是很有用或不太實(shí)用。

<?php??

/**

?* Trim native slugs

?*/

function pm_trim_native_slug($slug, $post_ID, $post_status, $post_type, $post_parent) {

? ? global $wpdb;


? ? $max_words = 5; // Limit the number of words to 5; This value can be changed.

? ? $words = explode('-', $slug);


? ? /* UPDATED CODE TO REMOVE SHORT WORDS */

? ? $min_word_length = 2;


? ? foreach ($words as $k => $word) {

? ? ? ? if (strlen($word) <= $min_word_length)

? ? ? ? ? ? unset($words[$k]);

? ? }

? ? /* END OF UPDATED CODE FOR SHORT WORDS */


? ? if(count($words) > $max_words) {

? ? ? ? $slug = implode("-", array_slice($words, 0, $max_words));


? ? ? ? // Make the slugs unique

? ? ? ? $check_sql? ? ? ?= "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND ID != %d LIMIT 1";

? ? ? ? $post_name_check = $wpdb->get_var($wpdb->prepare($check_sql, $slug, $post_ID));


? ? ? ? if($post_name_check) {

? ? ? ? ? ? $suffix = 2;

? ? ? ? ? ? do {

? ? ? ? ? ? ? ? $alt_post_name = _truncate_post_slug($slug, 200 - (strlen($suffix) + 1)) . "-$suffix";

? ? ? ? ? ? ? ? $post_name_check = $wpdb->get_var($wpdb->prepare($check_sql, $alt_post_name, $post_type, $post_ID, $post_parent));

? ? ? ? ? ? ? ? $suffix++;

? ? ? ? ? ? } while ($post_name_check);

? ? ? ? ? ? $slug = $alt_post_name;

? ? ? ? }

? ? }


? ? return $slug;

}

add_filter('wp_unique_post_slug', 'pm_trim_native_slug', 99, 5);

請(qǐng)注意,這僅適用于新的slugs,您仍然需要重新生成舊的 slugs,或者編寫(xiě)代碼來(lái)遍歷現(xiàn)有的 slugs 來(lái)更新它們。


更新現(xiàn)有的 slugs


您可以將此函數(shù)添加到您的functions.php中以獲取所有slug,調(diào)用上面的函數(shù)以生成新的slug,然后在數(shù)據(jù)庫(kù)中更新它:


function limit_all_existing_slugs(){

? ? // get all posts

? ? $posts = get_posts( array (? 'numberposts' => -1 ) );

? ??

? ? foreach ( $posts as $post ){


? ? ? ? // create the new slug using the pm_trim_native_slug function?

? ? ? ? $new_slug = pm_trim_native_slug($post->post_name,?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $post->ID,?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $post->post_status,?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $post->post_type,?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $post->post_parent);


? ? ? ? // only do the update if the new slug is different?

? ? ? ? if ( $post->post_name != $new_slug ){

? ? ? ? ? ? wp_update_post(

? ? ? ? ? ? ? ? array (

? ? ? ? ? ? ? ? ? ? 'ID'? ? ? ? => $post->ID,

? ? ? ? ? ? ? ? ? ? 'post_name' => $new_slug

? ? ? ? ? ? ? ? )

? ? ? ? ? ? );

? ? ? ? }

? ? }

}

請(qǐng)注意,上面的代碼是我自己的,未經(jīng)測(cè)試,因此請(qǐng)確保先在測(cè)試環(huán)境中嘗試一下。


如何使用此功能


要更新所有現(xiàn)有的 slugs,您只需按需調(diào)用此函數(shù)一次,而不是自動(dòng)調(diào)用(否則每次加載 function.php 時(shí)它都會(huì)更新 slugs)。您可以通過(guò)創(chuàng)建單獨(dú)的獨(dú)立頁(yè)面,在 WP 外部的外部腳本中執(zhí)行此操作,如下所示:


<?php

? ? include('wp-load.php');? ? ? ? ? ?//Include the wp-load.php file

? ? define('WP_USE_THEMES', false);? ?//We don't need the theme files?


? ? echo "<p>About to update all slugs...</p>";

? ? limit_all_existing_slugs();

? ? echo "<p>...DONE</p>";

?>


查看完整回答
反對(duì) 回復(fù) 2023-10-21
  • 1 回答
  • 0 關(guān)注
  • 153 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)