2011-05-16 3 views
0

나는 joomla 기반의 뉴스 웹 사이트에 엄청난 양의 쓸모없는 페이지가 검색 엔진 색인에 나타납니다. 적어도 처음부터 사이트를 재구성 할 때까지는 홈 페이지와 .html로 끝나는 기사 페이지를 제외한 모든 페이지에 NOINDEX, FOLLOW 메타 태그를 구현하고 싶습니다.Joomla noindex, PHP 코드를 따름

다양한 스 니펫을 코드 내가이 함께 올라와있다 hereelsewhere 발견

<?php 
if ((JRequest::getVar('view') == "frontpage") || ($_SERVER['REQUEST_URI']=='*.html')) { 
echo "<meta name=\"robots\" content=\"index,follow\"/>\n"; 
} else { 
echo "<meta name=\"robots\" content=\"noindex,follow\"/>\n"; 
} 
?> 

난 여전히 PHP 프로그래밍에 아주 새로운 그리고 난 내가 내가 궁금 그래서 실수를 몇 만든 수밖에있어 확신 친절한 영혼이 내 코드를 한 번 이상 넘겨주고 실수로 내 사이트를 핵 공격하기 전에 사용할 수 있는지 알려주지 않을 수 없습니다.

감사합니다,

답변

0

이 일치하지 않습니다 :

$_SERVER['REQUEST_URI']=='*.html' 

==는 문자 비교하고 와일드 카드를 구문 분석하지 않습니다. 당신은 SUBSTR과 문자열의 끝 확인할 수 있습니다

substr($_SERVER['REQUEST_URI'], -5) == '.html' 

을하거나 정규 표현식 사용할 수 있습니다

//This will match when .html is enywhere inside the string 
preg_match('/\.html/', $_SERVER['REQUEST_URI']) 

//This will match when .html is at the end of the string, but the 
//substr solution is faster in that case 
preg_match('/\.html$/', $_SERVER['REQUEST_URI']) 
1

는이에 대한 robots.txt 파일을 사용하는 것이 더하지 않을까요를?

일부 주요 크롤러는 다음 Disallow 지시문을 방해 할 수있는 Allow 지시문을 지원합니다. 이 기능은 전체 디렉토리를 허용하지 않지만 해당 디렉토리의 일부 HTML 문서를 크롤링하고 색인화하기를 원할 때 유용합니다. 표준 구현에서는 첫 번째 일치하는 robots.txt 패턴이 항상 우선하지만 Google의 구현 방식은 일치하는 Disallow 패턴보다 지시문 경로에서 같거나 더 많은 문자가있는 허용 패턴이 우선한다는 점에서 다릅니다. Bing은 가장 구체적인 Allow 또는 Disallow 지시문을 사용합니다. 하나는, 그렇지 않으면 허용 디렉토리 안에 하나의 파일을 허용하고자하는 경우

모든 로봇에 호환되도록하기 위해, 예를 들어,은 허용 안 다음에 첫번째 지침을 (를) 허용 배치 할 필요가있다 :

Allow: /folder1/myfile.html 
Disallow: /folder1/ 

이 예에서는/folder1/except /folder1/myfile.html에서 아무 것도 허용하지 않습니다. 이는 후자가 먼저 일치하기 때문입니다. 하지만 Google의 경우 주문은 중요하지 않습니다.

+0

robots.txt 파일을 사용하여 선택한 페이지에 메타 태그를 추가하는 SEO/SEF 확장이 있다고 생각했습니다. –

+0

안녕하세요, robots.txt의 문제점은 색인 생성을 원하지 않는 모든 섹션을 허용하지 않아야한다는 것입니다. 우리 시스템이 자동으로 새 섹션을 생성 할 때 복잡합니다. 모든 것을 허용하지 않고 홈 페이지와 .html 페이지 만 허용한다면 검색 엔진에 대한 모든 자세한 기사를 효과적으로 모호하게하는 섹션이 전혀 없을 것입니다. – Tom

+1

@Tom, 당신이'Allow' 지시어를 사용하지 않는다면. 그냥 frontpage와 article 디렉토리를 허용하고 다른 모든 것을 허용하지 마십시오. – Svish

0

나는이 함께 와서 여기에 포스터와 친구로부터 조언을 복용 :

당신은/public_html을/도서관/줌라/문서/HTML 편집 HTML로 이동해야합니다.PHP

검색 엔진의 모든 엉망 컨텐츠를 제거하고 내용 만 남겨

//set default document metadata 
    $this->setMetaData('Content-Type', $this->_mime . '; charset=' . $this->_charset , true); 
    $this->setMetaData('robots', 'index, follow'); 

//set default document metadata 
$this->setMetaData('Content-Type', $this->_mime . '; charset=' . $this->_charset , true); 

$queryString = $_SERVER['REQUEST_URI']; 
if (($queryString == '') || ($queryString == 'index.php/National-news') || ($queryString == 'index.php/Business') || ($queryString == 'index.php/Sport') || (substr($queryString, -5) == '.html')) { 
$this->setMetaData('robots', 'index, follow'); 
}else { 
$this->setMetaData('robots', 'noindex, follow'); 
} 

이 사이트의 모든 페이지에 메타 로봇 ​​태그를 업데이트를 대체 우리 색인에서 발견되고 싶다.

다음 며칠 이내에 테스트 서버에서 실행하고 다시보고 해 보겠습니다.