2017-03-04 8 views
2

내 페이지 중 하나에 메타 태그를 추가하고 싶습니다. 그러나, 나는 페이지의 본문에만 액세스 할 수있는 CMS (ocotberCMS)를 사용하고 있습니다.페이지 소스의 DOM과 요소 검사의 차이점

페이지 소스 :

<meta name="robots" content="noindex, nofollow, noarchive"> 
<div> 
    .......// the body of the page generated by {% partial "temp-partial" %} 
</div> 

요소 검사를 :

<meta name="robots" content="noindex, nofollow, noarchive"> 
{% partial "temp-partial" %} 

페이지 소스의 결과와 요소가 다른 검사 : 나는 마크 업의 모습에 메타 태그를 추가하려고 시도

<html> 
    #shadow-root 
<head> 
<meta name="robots" content="noindex, nofollow, noarchive"> 
</head> 
<body> 
<div> 
    .......// the body of the page generated by {% partial "temp-partial" %} 
</div> 
</body> 
</html> 

나는 HTML4에 따라 헤더에 메타 태그를 추가해야한다고 읽었습니다. ++ 문서. 위의 경우에 작동하는지 또는 그렇지 않을지 궁금합니다.

+2

페이지 본문에만 액세스 할 수있는 이유가 있습니까? 10 월에 대한 관리자 액세스 권한이있는 경우 레이아웃에 액세스 할 수 있어야합니다. 충분한 관리자 권한이없고 메타 태그를 삽입 할 수있는 사람이 있다면 그 사람에게 자리 표시 자 (https://octobercms.com/docs/markup/tag-placeholder)를 추가하도록 요청할 수 있습니다. 어떤 경우에 해당되는지 말하면 완전한 답을 쓸 수 있습니다. – Joseph

+0

@Joseph 고마워, 내가 어떻게'placeholder' 태그를 놓쳤는지 모르겠다. 제 경우에는 매우 유용합니다. 태그를 한 페이지에만 표시했습니다. (나는 검색 엔진에서 내 전체 사이트를 숨기고 싶지 않다.) – Poorya

+0

문제 없습니다. 나는 그것도 대답으로 게시했습니다. – Joseph

답변

1

OctoberCMS 당신이 뭘 하려는지에 대한 완벽는 "자리 표시 자"기능이 있습니다 , 어느 페이지의 후반 :

{% put meta %} 
    <meta name="robots" content="noindex, nofollow, noarchive"> 
{% endput %} 

무엇이든간에 en {% put %} 태그는 컴파일시에 {% placeholder %}이 배치 된 곳에 배치됩니다.

0

페이지 소스는 웹 사이트를 만들 때 표시됩니다.

요소 검사 소스는 추가 스타일 속성, 데이터베이스 수출 등의 질문에 대해서는

같은 데이터를 생성 포함, jQuery를 사용하고 머리 내 (http://api.jquery.com/append/) 메타 태그를 추가하려고합니다.

+0

그래서 당신이 말한 것에 따라 inspect 요소는 어떤 브라우저가 보일지를 보여줍니다. 올바른거야? 이런 태그를 남겨 두는 것이 좋습니다. 아니면 작동하지 않을 수도 있습니다. – Poorya

+0

정확합니다. 본문에 메타 태그를 추가한다고하면 유효하지 않으므로 버그가 발생할 수 있으므로 (소스 : 스택) 브라우저가 자동으로 제거 할 수도 있습니다. –

+0

알아 냈습니다. 한 가지 더 질문합니다. 메타 태그는 검색 엔진 용입니다. 이 경우 검색 엔진은 어떻게 작동할까요? 웹 브라우저와 비슷합니까? 또는 페이지에서 메타 태그를 볼 수 있습니까? – Poorya

1

템플릿의 레이아웃에서 머리 부분을 편집 할 수 있습니다. CMS -> Layout -> default.htm으로 이동하여 메타 태그를 추가하십시오.

실제 레이아웃 파일 이름은 다를 수 있지만, 거기에서 html을 보면 어느 것이 주 레이아웃 파일인지 확인해야합니다.

https://octobercms.com/docs/markup/tag-placeholder

당신이처럼 HTML 레이아웃에서 사용할 수 있습니다

:

<html> 
    <head> 
     <meta name="robots" content="noindex, nofollow, noarchive"> 
     {% placeholder meta %} 
    </head> 

    <body> 
     {% page %} 
    </body> 
</html> 

을 다음

+0

이 맞습니다. 그러나 그것은 전체 웹 사이트에 메타 태그를 추가합니다. 하지만 한 페이지 만 있으면됩니다. 나는 수색 엔진이 꼬리표를 묵살하지 않을 것이라는 점을 읽었다. 그래서 괜찮을 것입니다. – Poorya

+0

그런 다음 if 조건을 추가하여 해당 특정 페이지를 확인할 수 있습니다. 이것은 일종의 해킹이지만 이해하기 쉽고 간단합니다. – dragontree

1

는 소스 코드의 <body> 섹션의와 관리자 DOM 트리가 이미 브라우저에 의해 해석 된 버전이기 때문에 페이지 소스를보고하는 동안 당신이 당신의 관리자 DOM 트리에서 <head> 섹션에 <meta name="robots" content="noindex, nofollow, noarchive">을 볼 수있는 이유 .

"태그 수프"(HTML의 부적절한 구문 및 레이아웃)로 알려진 브라우저를 기꺼이 받아들이 려하고 단순히 작동 방식을 가장 잘 추측하기 때문에; 브라우저가 보여줄 관리자 DOM 트리는 이미 코드가 무엇인지에 대한 브라우저의 최선의 추측입니다. 해당 코드의 실제 유효성과 상관없이

본질적으로 원본을 볼 때 본문에서 메타 태그를 보는 이유는 그것이 실제로있는 곳이기 때문입니다. 브라우저에서 헤드 섹션이 메타 태그의 올바른 위치라고 추측했기 때문에 관리자의 헤드 섹션에서이 부분을 볼 수 있습니다.

로봇을 실제로 볼 수있는 헤드 섹션에 실제로 추가하려면 CMS 레이아웃을 편집해야합니다. CMS 메뉴 또는 레이아웃 하위 메뉴에 액세스 할 수없는 경우 사용자 계정에 권한이 없으므로 사이트를 만든 사람과 연락하거나 IRC에서 추가 도움을 요청해야합니다 (freenode.net - #october) 또는 슬랙.