내 SEO 노력이 Google 웹 사이트 중 하나에 얼마나 효과적 이었는지 입증하기 위해 같은 도메인에있는 위키에 2 일 동안 2601 개의 스팸 페이지가 있습니다 (일치, SERP 2 일 전 ...).마지막 스팸 페이지를 제거한 후 Mediawiki 테이블을 정리합니다.
wiki를 잠그고 (읽기 전용) 차단 목록, Captchas 등을 잠그고 Nuke 확장 프로그램을 사용하여 모든 스팸을 제거했습니다.
자, 이것은 하나의 확장에 대해서는 주목할 만하지만, 여전히 여기저기서 물건을 남겨 두었습니다.
기본적으로 Nuke (공식 확장 프로그램이라고 생각하는)는 pagelinks, searchindex, users 테이블에 "고아"레코드를 남겼습니다.
레코드를 삭제할 때 아무런 문제가 없지만 무작위로 물건을 가지 치기로 데이터베이스 관계 일관성을 깨고 싶지는 않습니다. SQL 쿼리, Linux 명령 행 스크립트 및 모든 종류의 고급 기능을 실행하는 방법을 이해할 수 있습니다.
내가 자유롭게 사용자 테이블 행을 삭제할 수 있습니다 :
그래서, 여기에 미디어 위키 내부를 알고있는 몇 가지 유용한 StackOverflow의 독자에 대한 몇 가지 질문입니까? SQL 쿼리가 쉽도록 2 행만 유지하면됩니다. 나는 다른 테이블을 연결할 필요가있는 부작용을 일으키고 싶지 않습니다.
pagelinks에서 고아 레코드를 제거하려면 어떻게해야합니까? 그들은 분명히 현재 페이지를 가리키고 있지만, 내가 사용했던 기본 유지 관리 Mediawiki 스크립트 (처음에는 핵 확장, 그 다음은
rebuildall.php
)는 고아를 버리지 않습니다. 이것은 내가 스크립트가 가리키는 링크를 제거하지 못하게하는 어딘가에서 여전히 가비지가있을 수 있다고 생각하게합니다. 그러나 나는 트리플 페이지를 체크 ... 우리가 만든 몇 페이지 만 더 이상 남아 있습니다. 나는 개정판도 제거했다.
나는 refreshLinks.php
및 orphans.php
스크립트 콘솔을 사용하여 시도했지만 그들은 관련 아무것도하지 않았다.
dumpLinks.php
콘솔 유지 관리 스크립트를 사용하여 모든 종류의 "불편한"단어와 링크를 쉽게 grep 할 수 있기 때문에 pagelinks 테이블을 더 내릴 수 있습니다.
** 블로그 ** 게시물이며 질문이 아니기 때문에이 질문을 오프 토픽으로 닫으려고합니다. –