주류 블로깅 시스템으로서 WordPRess는 많은 웹마스터들이 선호합니다. 사실, WordPress는 SEO에도 매우 도움이 됩니다. 오늘은 WordPress의 고정 링크 설정 및 최적화에 대해 이야기해 보겠습니다.
일반적으로 고정 링크에는 기본 ?p=id 형식, 날짜 + 이름 형식, 숫자 형식 및 사용자 정의 구조의 5가지 형식이 있습니다. 대부분의 WordPress 웹사이트는 마지막 사용자 정의 구조 양식을 사용하는 것을 볼 수 있습니다. 이 양식은 검색 엔진 최적화에 도움이 되기 때문입니다. 그렇다면 사용자 정의 구조를 어떻게 설정해야 할까요?
두 가지 일반적인 사용자 정의 구조가 있습니다. 직접 /%postname%/로 설정하거나 /%postname%.html로 설정합니다. 그 중 %postname%은 기사의 맞춤 URL입니다. 기사 작성 시 기사 제목을 URL로 하여 자동으로 링크가 생성됩니다. 물론 중국 웹사이트에서는 일반적으로 플러그인을 사용하여 번역하거나 병음 형태로 직접 편집합니다. 저는 개인적으로 병음 형식을 추천합니다. 기사 내용의 주요 키워드를 병음으로 쓰면 순위에 더 도움이 됩니다.
위에서 언급한 두 가지 사용자 정의 구조는 모두 매우 좋은데 어떤 것을 선택해야 할까요? 작성자의 겸손한 의견에 따르면 /%postname%/ 구조를 선택하는 것이 좋습니다. 왜 그렇게 말합니까? 전자를 선택하면 실제로 검색 엔진은 귀하의 기사를 웹사이트 하위 디렉토리의 홈페이지로 취급하고, 후자를 선택하면 루트 디렉토리의 html 문서로 취급합니다. 그러면 하위 디렉터리의 홈페이지와 루트 디렉터리의 일반 페이지 중 어느 쪽의 가중치가 더 높을까요? 보조 디렉터리의 홈페이지여야 하므로 저자는 전자, 즉 /%postname%와 같은 구조를 사용할 것을 권장합니다. /.
영구 링크를 설정한 후 "업데이트"를 클릭하세요. Linux 호스트인 경우 WordPress는 고정 링크를 설정하는 것과 동일한 .htaccess를 자동으로 생성합니다. 그러나 Windows 호스트는 훨씬 더 까다로우며 웹마스터가 직접 httod.ini를 작성하여 업로드해야 합니다. 루트 디렉토리. 여기에 샘플이 제공됩니다.
[ISAPI_재작성]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /sitemap.html /sitemap.html [L]
RewriteRule /favicon.ico /favicon.ico [L]
RewriteRule /wap(.*) /wap$1 [L]
RewriteRule /content/uploads/(.*) /content/uploads/$1 [L]
RewriteRule /wp-(.*) /wp-$1 [L]
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]
위 코드를 텍스트 문서에 붙여넣고 httpd.ini로 저장한 후 루트 디렉터리에 업로드하면 됩니다. 이와 관련하여 win 호스트의 심각한 결함으로 인해 위 코드에도 작은 허점이 있습니다. 즉, 웹 사이트의 모든 파일에 액세스할 수 없습니다. 해결 방법도 매우 간단합니다. 루트 디렉터리에 있는 파일인 경우 RewriteRule /파일 이름/파일 이름 [L]을 추가하면 됩니다. 템플릿에 이미 표시된 디렉터리가 아닌 경우 RewriteRule /Folder 디렉터리/(를 추가하면 됩니다. .*) /folder 디렉토리/$1 [L]이 가능합니다. 이제 드디어 워드프레스 고정링크 설정이 완료되었습니다.
그렇다면 자신만의 고정 링크를 설정한 후에도 ?p=id 형식의 기본 링크에 계속 액세스할 수 있습니까? 대답은 '예'입니다. Linux 호스트의 장점과 단점에 대해 이야기하고 다시 Win 호스트를 살펴보겠습니다. Linux 호스트인 경우 ?p= 형식으로 웹페이지에 액세스하면 301 점프를 통해 별칭(즉, 직접 설정한 링크)의 기사 페이지로 자동으로 이동합니다. 그러나 Win 호스트에서는 이러한 현상이 발생하지 않습니다. , 이는 모든 기사 페이지가 두 가지 다른 링크 액세스를 사용할 수 있음을 의미합니다. 이는 검색 엔진에 매우 불리하므로 짧은 링크(301)를 별칭 링크로 점프하도록 하는 것이 필요합니다. 그럼 어떻게 설정하나요? 템플릿에서 header.php를 찾아 헤더에 다음 코드를 추가하면 됩니다.
if($_GET['p']||$_GET['page_id']){
if($_GET['p'])$id=$_GET['p'];
if($_GET['page_id'])$id=$_GET['page_id'];
$post= get_post($id);
$name=$post->포스트_이름;
header('HTTP/1.1 301 영구적으로 이동됨');//301 헤더 보내기
header('위치: '.bloginfo('url').'/'.$name.'/');
출구();
}그렇지 않은 경우($_GET['고양이']){
$id=$_GET['고양이'];
$cat=get_category($id);
$name=$cat->슬러그;
header('HTTP/1.1 301 영구적으로 이동됨');
header('위치: '.bloginfo('url').'/cat/'.$name.'/');
출구();
}else if($_GET['tag']){
$name=$_GET['태그'];
header('HTTP/1.1 301 영구적으로 이동됨');
header('위치: '.bloginfo('url').'/tag/'.$name.'/');
출구();
}?>
하하, 이제 드디어 완료되었습니다. Linux 호스트이든 Win 호스트이든 고정 링크가 정말 준비되었습니다. WordPress 시스템을 사용하는 경우 Linux 호스트를 사용해 보는 것도 이를 통해 알 수 있습니다. 위 내용은 Sleep Pillow Network( www.89948.net )의 웹마스터의 경험입니다. 재인쇄 시에는 댓글과 재인쇄를 환영합니다. 감사합니다!
담당 편집자 : 하드론 작가 qzonelove의 개인 공간