mod: raw-SQL --> ORM для цен на наборы кокон в квартиру. SEO-атртибуты + добавлена schema.org
This commit is contained in:
@@ -6,15 +6,86 @@
|
||||
|
||||
{% block Add_Body_Attribute %} style="padding-top:70px;"{% endblock %}
|
||||
|
||||
{% block Date4Meta %}{{ META_DATA_PUBLISH|date:"Y-m-d" }}{% endblock %}
|
||||
{# SEO-описание: информативно для поисковиков и людей, но кратно. #}
|
||||
{% block Description %}Лучшие цены на пластиковые окна для серии {{ APART|safe }} в доме по адресу {{ ADDRESS }}. Сравните {{ PRICE_FRAME|length }} предложений от ведущих компаний, узнайте стоимость окон для вашей квартиры и получите скидку!{% endblock %}
|
||||
|
||||
{% block Last4Meta %}{{ META_DATA_PUBLISH|date:"Y-m-d" }}{% endblock %}
|
||||
{# SEO-ключевые слова: расширяем, добавляем вариации, город, преимущества. #}
|
||||
{% block Keywords %}цены на окна, пластиковые окна, серия {{ BASE_SERIA }}, стоимость окон, окна для {{ BASE_SERIA }}, размеры окон, проемы серии {{ BASE_SERIA }}, окна в {{ APART|safe }}, скидки на окна, {{ ADDRESS }}, оконный профиль, монтаж окон, установка окон, сравнение цен, лучшие предложения, акции, рассрочка, {{ KEYWORDS_EXTRA }}{% endblock %}
|
||||
|
||||
{% block Description %}Цены на окна для серии {{ APART|safe }} по адресу {{ ADDRESS }}. Размер окон (см.): {% for I_WIN_DIM in FLAP_DIM %}{{ I_WIN_DIM.iWinWidth|floatformat:0 }}x{{ I_WIN_DIM.iWinHight|floatformat:0 }}{% if forloop.last %}.{% else %}; {% endif %}{% endfor %} Оконные наборы: {% for CurOffer in PRICE_FRAME %}{{ CurOffer.SETS_NAME }} – {{ CurOffer.FIN_PRICE|stringformat:".0f" }} рублей{% if forloop.last %}.{% else %}; {% endif %}{% endfor %}{% endblock %}
|
||||
|
||||
{% comment %}{% block Description %}Цены на плаcтиковые окна для серии {{ BASE_SERIA }} ({{ APART }} квартира, {{ ADDRESS }}) :: {% for CurOffer in PRICE_FRAME %}Поставщик: {{ CurOffer.MERCHANT }}; Комплектация: {{ CurOffer.SETS_NAME }}; Цена: {{ CurOffer.FIN_PRICE }}₽ :: {% endfor %}{% endblock %}{% endcomment %}
|
||||
|
||||
{% block Keywords %}цены окон, серия {{ BASE_SERIA }}, {{ BASE_SERIA }}, стоимость окон, окна для {{ BASE_SERIA }}, размеры окон, проемы серии {{ BASE_SERIA }}, окна в {{ APART|safe }}, скидки на окна, {{ ADDRESS }}, оконный профиль, {% for CurOffer in PRICE_FRAME %}{{ CurOffer.MERCHANT }}, {{ CurOffer.PVC_NAME }}, {{ CurOffer.PVC_MANUFACTURER }}, {{ CurOffer.GLAZING_MARK }}, {% endfor %} характеристики пластиковых окон, {% for I_WIN_DIM in FLAP_DIM %}{{ I_WIN_DIM.iWinWidth|floatformat:0 }}x{{ I_WIN_DIM.iWinHight|floatformat:0 }} см., {% endfor %}{{ META_KEYWORDS|default:"" }}{% endblock %}
|
||||
{% block ADD_TO_HEAD %}{# --- Микроразметка schema.org, Open Graph, Twitter Card, meta-даты --- #}
|
||||
{# --- JSON-LD микроразметка schema.org --- #}<script type="application/ld+json">
|
||||
[
|
||||
{
|
||||
"@context": "https://schema.org/",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{"@type": "ListItem", "position": 1, "name": "Главная", "item": "{{ request.scheme }}://{{ request.get_host }}/"},
|
||||
{"@type": "ListItem", "position": 2, "name": "Каталог", "item": "{{ request.scheme }}://{{ request.get_host }}/catalog"},
|
||||
{"@type": "ListItem", "position": 3, "name": "Цены на окна", "item": "{{ request.scheme }}://{{ request.get_host }}{{ request.path }}"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"@context": "https://schema.org/",
|
||||
"@type": "Organization",
|
||||
"name": "ОКНАРДИЯ — агрегатор цен на окна",
|
||||
"url": "{{ request.scheme }}://{{ request.get_host }}/",
|
||||
"logo": "{{ request.scheme }}://{{ request.get_host }}{% static 'img/oknardia_logo.svg' %}",
|
||||
"description": "Сравнение цен на установку оконных конструкций в типовых жилых домах России",
|
||||
"contactPoint": {"@type": "ContactPoint", "contactType": "Customer Service"}
|
||||
},
|
||||
{
|
||||
"@context": "https://schema.org/",
|
||||
"@type": "Product",
|
||||
"name": "Окна для {{ APART|safe }} ({{ ADDRESS }})",
|
||||
"size": "{% for I_WIN_DIM in FLAP_DIM %}{{ I_WIN_DIM.iWinWidth|floatformat:0 }}x{{ I_WIN_DIM.iWinHight|floatformat:0 }}мм — {{ I_WIN_DIM.iQuantity }} шт.{% if not forloop.last %}; {% endif %}{% endfor %}",
|
||||
"description": "Цены на пластиковые окна для серии {{ APART|safe }} по адресу {{ ADDRESS }}. Сравните предложения, комплектации, получите скидки и выберите лучшее решение!",
|
||||
"image": {"@type": "ImageObject", "url": "{{ request.scheme }}://{{ request.get_host }}{% static 'img/oknardia_logo.svg' %}"},
|
||||
"brand": {"@type": "Brand", "name": "ОКНАРДИЯ"},
|
||||
"url": "{{ request.scheme }}://{{ request.get_host }}{{ request.path }}",
|
||||
"offers": {"@type": "AggregateOffer", "priceCurrency": "RUB", "itemCondition": "https://schema.org/NewCondition", "availability": "https://schema.org/InStock", "offerCount": "{{ PRICE_FRAME|length }}"}
|
||||
},
|
||||
{# --- ItemList с Offer для каждого предложения (цена, продавец, рейтинг, дата, внутренняя ссылка, профиль, стеклопакет, список окон) --- #}{
|
||||
"@context": "https://schema.org/",
|
||||
"@type": "ItemList",
|
||||
"itemListElement": [
|
||||
{% for CurOffer in PRICE_FRAME %}
|
||||
{
|
||||
"@type": "Offer",
|
||||
"position": {{ forloop.counter }},
|
||||
"name": "{{ CurOffer.SETS_NAME|escapejs }}",
|
||||
"seller": {"@type": "Organization", "name": "{{ CurOffer.MERCHANT|escapejs }}"},
|
||||
"windows": [
|
||||
{% for CurInOffer in CurOffer.DIM %}{"size": "{{ CurInOffer.WIDTH|stringformat:'d' }}x{{ CurInOffer.HIGHT|stringformat:'d' }}", "count": {{ CurInOffer.QUANTITY }}}{% if not forloop.last %}, {% endif %}{% endfor %}
|
||||
],
|
||||
"profile": "{{ CurOffer.PVC_NAME|escapejs }}",
|
||||
"glazing": "{{ CurOffer.GLAZING_NAME_B|escapejs }}",
|
||||
"price": "{{ CurOffer.FIN_PRICE|stringformat:'d' }}",
|
||||
"priceCurrency": "RUB",
|
||||
{% if CurOffer.SETS_RATING %}"aggregateRating": {"@type": "AggregateRating", "ratingValue": "{{ CurOffer.SETS_RATING|stringformat:'.2f' }}"}, {% endif %}
|
||||
{% if CurOffer.SETS_DATA_MODIFY %}"priceValidUntil": "{{ CurOffer.SETS_DATA_MODIFY|date:'Y-m-d' }}", {% endif %}
|
||||
"availability": "https://schema.org/InStock",
|
||||
"itemCondition": "https://schema.org/NewCondition",
|
||||
"url": "#offer_{{ CurOffer.SETS_ID }}"
|
||||
}{% if not forloop.last %},
|
||||
{% endif %}{% endfor %}
|
||||
]
|
||||
}
|
||||
]
|
||||
</script>
|
||||
{# --- Open Graph (OG) --- #}<meta property="og:title" content="Цены на окна для {{ APART|safe }} ({{ ADDRESS }})" />
|
||||
<meta property="og:description" content="Сравните цены, комплектации и получите лучшие предложения на пластиковые окна для серии {{ APART|safe }} по адресу {{ ADDRESS }}!" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="{{ request.scheme }}://{{ request.get_host }}{{ request.path }}" />
|
||||
<meta property="og:image" content="{{ request.scheme }}://{{ request.get_host }}{% static 'img/oknardia_logo.svg' %}" />
|
||||
<meta property="og:site_name" content="ОКНАРДИЯ — агрегатор цен на окна" />
|
||||
{# --- Twitter Card --- #}<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="Цены на окна для {{ APART|safe }} ({{ ADDRESS }})" />
|
||||
<meta name="twitter:description" content="Сравните цены, комплектации и получите лучшие предложения на пластиковые окна для серии {{ APART|safe }} по адресу {{ ADDRESS }}!" />
|
||||
<meta name="twitter:image" content="{{ request.scheme }}://{{ request.get_host }}{% static 'img/oknardia_logo.svg' %}" />
|
||||
{# --- Даты публикации и обновления --- #}<meta name="date" content="{{ META_DATA_PUBLISH|date:'Y-m-d' }}" />
|
||||
<meta property="article:published_time" content="{{ META_DATA_PUBLISH|date:'Y-m-d' }}" />
|
||||
<meta property="article:modified_time" content="{{ META_DATA_PUBLISH|date:'Y-m-d' }}" />
|
||||
{% endblock %}
|
||||
|
||||
{% block Top_JS3%}<script type="text/javascript">
|
||||
function show_phone_num( id ){ // колапсатор для отображения контатной информации постафшика окон
|
||||
@@ -107,23 +178,20 @@ $(function () { // инициализация и обработка попове
|
||||
|
||||
{% block Top_CSS1 %}<link rel="stylesheet" type="text/css" href="{% static "css/csshake-vertical.min.css" %}">{% endblock %}
|
||||
|
||||
{% block Main_Content %}
|
||||
<span itemscope itemtype="http://schema.org/Product">
|
||||
<div class="row col-md-12">
|
||||
{% block Main_Content %}<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-9">
|
||||
<h1>Цены на окна для серии {{ APART|safe }} <small>({{ ADDRESS }})</small></h1>
|
||||
<h1>Цены на окна для серии {{ APART|safe }} <small><nobr>({{ ADDRESS }})</nobr></small></h1>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<p>Квартира имеет проёмы (окна и балконные двери) следующих размеров: {% for I_WIN_DIM in FLAP_DIM %}{% if not forloop.first %}{% if forloop.last %} и {% else %}, {% endif %}{% endif %}{{ I_WIN_DIM.iWinWidth|floatformat:0 }}x{{ I_WIN_DIM.iWinHight|floatformat:0 }} см. — {{ I_WIN_DIM.iQuantity }} шт.{% endfor %} Проект (<a href="/catalog/seria/{{ BASE_SERIA_LAT }}/all{{ BASE_SERIA_ID }}">типовая серия {{ BASE_SERIA }}</a>) предполагает следующие схемы открывания окон:</p>
|
||||
</div>
|
||||
{# Микроразмектка: названеи продукта #}<meta itemprop="name" content="Окна {{ APART|safe }} ({{ ADDRESS }})" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row col-md-12 ShowBigFlapPictures">
|
||||
<div class="col-sm-9">
|
||||
{% include 'report/show_big_flap_pictures.html' %}
|
||||
</div>
|
||||
<div class="col-sm-3 visible-md visible-lg ap_list">
|
||||
<div class="row ShowBigFlapPictures">
|
||||
<div class="col-sm-9">{% include 'report/show_big_flap_pictures.html' %}</div>
|
||||
<div class="col-sm-3 visible-md visible-lg ap_list">
|
||||
<h6>Другие типовые квартиры в этом доме:</h6>
|
||||
<ul>{% for I_APART in APARTMENT_IN_BUILDING %}
|
||||
{% if I_APART.APT_ID == '!' %}<li>{{ I_APART.APT_NAME|safe }}</li>{% else %}<li><a href="/{{ BUILD_ID }}/{{ I_APART.APT_ID }}/{{ ADDRESS_T }}">{{ I_APART.APT_NAME|safe }}</a></li>{% endif %}{% endfor %}
|
||||
@@ -136,8 +204,6 @@ $(function () { // инициализация и обработка попове
|
||||
<div class="col-md-12">
|
||||
<p id="tab-note">Таблица содержит цены поставщиков. Клик на название отобразит детальные спецификации каждого предложения: марку профиля рамы и створки, схему стеклопакета, тип фурнитуры, элементы отделки (отлив, подоконник, откос, клапан <nobr>климат-контроля</nobr>) и сопутствующие услуги. Предложения выводятся покадрово, получите следующий кадр кнопкой «Ещё коммерческие предложения окон» под таблицей. Просмотреть и сравнить технические характеристик стеклопакетов, профилей и детальное описание сопутствующих услуг возможно с помощью кнопки «Сравнить выбранные».</p>
|
||||
</div>
|
||||
{# Микроразмектка: названеи продукта #}
|
||||
<meta itemprop="name" content="Окна {{ APART|safe }} ({{ ADDRESS }})"/>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -168,8 +234,7 @@ $(function () { // инициализация и обработка попове
|
||||
{% include "price/price_list_frame.html" %}
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</span>
|
||||
</form>
|
||||
{% with SERIA_BASE=BASE_SERIA %}{% include "report/build_info_in_table.html" %}{% endwith %}
|
||||
{# --- Баннер: НАЧАЛО --- #}
|
||||
<div class="row"><div class="col-md-12 col-xs-12"><hr class="dotted-black" />{% include "ad/bannet-wide.html" %}</div></div>
|
||||
|
||||
Reference in New Issue
Block a user