Q&A

구글은 왜 /?menu_srl=000&m=0&mid=board&act=dispBoardTagList 왜 이런 이상한 페이지를 색인 할까요?

2023.09.08 13:52
299
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 7.4

구글은 왜 /?menu_srl=000&m=0&mid=board&act=dispBoardTagList

이런 존재하지도 않는 페이지를 색인하는걸까요

 

심지어 Sitemaps의 참조 페이지에

참조 페이지 /?menu_srl=000&m=0&mid=board&act=dispBoardTagList 로 떠있네요 

 

심지어 이런 에러페이지가 나오는데도 말이죠.

Template not found: /home/사이트명/www/modules/board/skins/스킨명/tag_list.html

 

m=0 이거 색인 못하게 막아놨는데도 구글 기가 막히게 또 색인해가서 문제를 일으키네요. ㅠㅠ

 

이렇게도 해놨고 

Disallow: /*m=*
Disallow: /*m=0$
Disallow: /*m=0&
Disallow: /*m=1$
Disallow: /*m=1&

 

애드온에서 <a class="xe_mobile 도 지워놨는데도요

 

(아마 스케치북썻을 때 일시적으로 퍼간것 같긴하네요)

 

?mid=board&act=dispMenuMenu&menu_srl=00 

그리고 이런것도 왜이렇게 색인해가는걸 좋아하는지 ㅋㅋㅋ

생전 쓰지도 않는 레이아웃 모양의 메뉴가 뜨는 페이지도 수집해서 색인이 생성되지 않아서 있네요.

 

본김에

Disallow: /*menu_srl=
Disallow: /*act=dispMenuMenu
Disallow: /*act=dispBoardTagList 

도 추가는 해줬습니다.

 

 

아 그리고 존재 하지 않는 

Template not found: /home/사이트명/www/modules/board/skins/스킨명/tag_list.html

 

이런 Template not found 가 나왔을때 페이지 제목을 404 같은 에러페이지로 해야하지 않을까요?

타이틀은 너무나 평온하게 <title>게시판명 - 사이트명</title> 으로 나오네요.

 

추가로 

 

500에러 코드가 관리자에게만 노출 되는것 처럼

Template not found: /home/사이트명/www/modules/board/skins/스킨명/tag_list.html

이런 사이트의 실제 경로가 노출되는 에러는 관리자에게만 떠야지 맞을것 같아요.

 

구글에서 

Template not found: /www/modules/board/skins/tag_list.html 만 검색해봐도 엄청나게 많은 에러 페이지들이 뜨네요.

설치된 계정명 절대경로가 다 보여지게끔요.

 

톰캣 Lv. 11
시대의 흐름에 뒤떨어지지 않도록 아주 천천히지만 노력하고 있습니다.

댓글 4

  • 2023.09.08 14:24 #1784510

    그게 다른 사이트에서는 존재 하는 페이지이니.. 여기에도 존재하겟찌 라는 의미로 접근햇을 가능성이 있습니다. 아니면 가끔 listviewer 이런 느낌의 링크들을 만들어둔게 사이트에서 발견되어서 그 구조를 확인해서 그 링크에 따라 색인하는걸수도 있고요..

    그리고..

    Template not found: /home/사이트명/www/modules/board/skins/스킨명/tag_list.html

    이거 막아버리면.. 그냥 딱 include 한 파일 하나에 404 뜨는 문제가 있을거고 그에 대한 디버깅 문제가 잇지 않을까요?

    이거를 404같은 에러로 만드는 것은 좀 위험한 생각인것 같습니다..ㅠ

    관리자에게만 보여지는것도 관리자는 채크 못하는 것을 일반 회원이 발견할 수 있다는 전재에 추후 운영자들이 사이트 버그 관리에 원인을 한번에 잡을 수 있도록 제공하기 위한 필요한 문구입니다. 그리고 해당 페이지 접근시 템플릿 파일 없다는 오류가 뜬다는건 403 404 에러와는 다르게 PHP에서 동작 한 것과 실제로 홈페이지 연결까지 깔끔한 액션이 마무리 된 후 이걸 토대로 html 파일을 통해서 페이지를 띠울 수 있는 것인데 그 파일만 없엇을 뿐이므로 당연히.. 일반 에러와는 분리되어 관리되어야 합니다.

     

     

    PHP500 에러와 분리되어 오류메세지를 관리하도록 하는건.. 실제 템플릿 파일을 찾지 못햇다는건 500에러와 같은 문제가 아니거든요.. 500에러 같은건 실제로 서버내에서 관리자가 확인이 가능한 버그이지만 템플릿은 서버에 로그가 안남고, 어디 위치에서 어떤 파일을 어덯게 호출햇는지 파악하기도 어려운경우 가 가끔 있거든요.

  • 2023.09.08 16:47 #1784527

    1. dispBoardTagList는 정식으로 존재하는 페이지입니다. 님이 사용하시는 스킨 제작자가 tag_list.html 템플릿을 누락시켰다고 해서 게시판 모듈의 함수까지 삭제되는 것은 아니니까요. 해당 기능이 필요하지 않다면 빈 파일이라도 tag_list.html을 만들어 두었어야 합니다. 즉, 스킨의 문제입니다.

     

    2. A라는 템플릿에서 B라는 템플릿을 인클루드했는데 B가 존재하지 않을 때는 에러 메시지에 상대경로를 표시하도록 되어 있습니다. 그런데 모듈에서 당초 지정한 A가 존재하지 않을 때는 실행 경로가 달라서 절대경로가 표시되는군요. 라이믹스는 에러 메시지에 상대경로를 표시하는 것이 원칙이므로, 이것은 버그입니다. develop 브랜치에서 수정했습니다.

     

    3. 윗분 댓글처럼 템플릿 하나를 찾을 수 없다고 페이지 전체가 404가 되는 것은 곤란합니다. 인클루드 구조가 상당히 복잡하게 설계되어 있는 스킨들도 많은데, 글읽기 화면에서 아무도 눈치채지 못하는 작은 위젯 부분 하나의 파일이 누락되었다고 해서 404가 떠 버리면 어떤 글도 색인되지 않아서 훨씬 큰 피해가 발생할 테니까요. 에러 메시지를 눈에 띄게 표시하는 이유도, 템플릿 파일이 누락된 것을 쉽게 알아차리기 어렵기 때문입니다. 아무 것도 표시되지 않을 테니까요. (물론 디버그 기능을 켜 놓으면 워닝이 뜹니다.)

     

    4. 그러나 사이트의 서버단 절대경로를 특별히 민감한 정보로 취급할 필요는 없다고 봅니다. 대부분의 사이트는 /home/(사이트 도메인에서 com이나 kr 등을 뺀 것)/(www, public_html, html 등)과 같은 몇 가지 패턴으로 귀결되니까요. 웹호스팅이라면 사이트 도메인과 무관한 운영자의 평소 아이디를 계정명으로 쓰고 있을 가능성도 있지만, 상당수의 국내 호스팅은 에러메시지 외에도 다른 경로로 운영자의 아이디를 유추할 수 있는 방법이 많습니다;;;

  • 2023.09.08 17:01 #1784538

    m=0이나 menu_srl=00이 포함된 URL로 링크된 곳이 있거나, 예전에 있었을 겁니다. 소스보기 모드로 들어가서 검색해 보세요. 레이아웃이나 스킨을 포함한 많은 자료들이 getUrl 함수를 정말정말 대충 씁니다. 대충 원하는 대로 작동하기만 하면 불필요한 URL 파라미터가 붙어 있는 것에 대해서는 신경을 쓰지 않지요. (힌트: getUrl 함수를 쓰는데 첫 번째 파라미터가 빈 문자열이나 배열이 아니라면 잘못 쓰고 있을 확률이 매우 높습니다.)

     

    <a href="불필요한 URL" onclick="콜백함수(); return false">메뉴</a> 이런 식으로 만들어져 있는 링크도 문제입니다. 사람이 클릭하면 콜백함수가 호출되고 링크는 무시되지만, 검색엔진은 href 속성을 보고 "저기에 쓸만한 컨텐츠가 있는 모양이네?" 라고 생각할 테니까요.

     

    눈에 보이는 동작뿐 아니라 태그 속성과 브라우저 주소창까지 꼼꼼하게 살피는 개발 습관이 절실히 필요합니다.

  • 2023.09.08 20:21 #1784545
    막던진 질문에 또 시간내서 상세한 답변주셔서 두분모두 감사드립니다!
    @람보 @기진곰