Интеграция с Тургенев API для проверки качества контента
Данное API позволяет проверить ваш текст на наличие различных ошибок в тексте (в первую очередь в плане SEO).
Как реализовать:
1. Регистрация на https://turgenev.ashmanov.com и получение ключа API.
2. Создаем API запрос turgenev в /asapi - GET, json
3. Процедура Request для API запроса:
CREATE PROCEDURE [dbo].[api_turgenev_request]
@parameters ExtendedDictionaryParameter READONLY,
@username nvarchar(32)
AS
BEGIN
declare @url nvarchar(max) = (select Value2 from @parameters where [key]='url')
declare @class nvarchar(max) = (select Value2 from @parameters where [key]='class')
declare @key nvarchar(max) = dbo.as_setting('turgenevKey', '______________')
declare @type nvarchar(max) = 'risk'
declare @more nvarchar(max) = '1'
print @url
-- SELECT 1 Msg, Result, Url
select '' Msg, 1 Result, 'https://turgenev.ashmanov.com/?api='+@type+'&key='+@key+'&tbclass='+@class+'&more='+@more+'&url='+ dbo.as_urlEncode(@url) Url
-- SELECT 2 PARAMETERS - параметры, которые будут передаваться во внешний источник
END
Вы можете внести либо в Настройки ключ либо вписать его в текст процедуры.
Обратите внимание, что URL страницы мы должны декодировать через as_urlEncode
3. Пишем процедуру response:
CREATE PROCEDURE [dbo].[api_turgenev_response]
@response nvarchar(max),
@parameters ExtendedDictionaryParameter READONLY,
@username nvarchar(32)
AS
BEGIN
declare @pageID int = (select try_cast(Value2 as int) from @parameters where [key]= 'pageID')
if(@pageID is not null) begin
insert into kw_pageAnalyzes (pageID, created, createdBy, typeCode, JSON, summary)
values (@pageID, getdate(), @username, 'turgenev', @response, '')
end
-- SELECT 1
select '' Msg, 1 Result, @response Response
END
В данном случае мы сохраняем весь JSON в некую таблицу с идентификатором pageID (он должен быть передан через внешнее действие, см. далее)
4. Вызываем внешнее действие apirequest (например как кнопка Save в некоторой форме):
if(isnull(@purl, '') ='') begin
select 'Не задан URL у страницы ' Msg, 0 Result
return
end
select ' ' Msg, 1 Result, 'body' RefreshContainer
select 'apirequest' type, 'turgenev' code, 'url' p1_name, @purl p1_value,
'class' p2_name, '' p2_value, -- .bl-text
'pageID' p3_name, cast(@itemID as nvarchar) p3_value
Если мы хотим, чтобы анализ проводился не по всей странице, а только по некоторому div, то указываем этот контейнер через параметр class
5. Теперь выведем эти данные в некой таблице. Мы должны распарсить значения из JSON, а также сделать ссылки на полный отчет. GetItems для подобной таблицы:
CREATE PROCEDURE [dbo].[crud_relPageAnalyzes_getItems]
@filters CRUDFilterParameter READONLY,
@sort sql_variant,
@direction nvarchar(8),
@page int,
@pageSize int,
@username nvarchar(32)
AS
BEGIN
declare @pageID int
select @pageID = try_cast(Value as int) from @filters where [Key] = 'itemID'
-- SELECT 1
select top 100
id,
isnull([typeCode], '') [typeCode],
iif(typeCode='turgenev', '<'+'a href="https://turgenev.ashmanov.com/?h=vkladki" target="_blank">Справка</a>','') desc_typeCode,
createdBy + ' ' + dbo.as_timeDelay(datediff(minute,created, getdate())) + ' назад ' date,
'<'+'a href="'+'https://turgenev.ashmanov.com/?t=' + JSON_VALUE(json, '$.link')+'" target="_blank"><i class="fa fa-link"></i> ' +JSON_VALUE(json, '$.level') + '</a>' data,
'<div cl'+'ass="as-prettyJSON">'+JSON_QUERY(json, '$.details') + '</di'+'v>' [sub_data]
from kw_pageAnalyzes
where pageID = @PageID
order by id desc
-- SELECT 2
select 1
-- SELECT 3
select 1 HideTitleCount, 1 Compact
END
Извлекаем результаты основного вывода по странице, а также показываем детали в виде структурированного JSON ответа:
Пройдя по ссылке в столбце Данные, вы увидите скрин из начала статьи
Документация Тургенев API https://turgenev.ashmanov.com/?a=apikey
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем
- Дизайн, стилизация, юзабилити
- Лендинги
- Универсальный API
- Примеры интеграций
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO Возможности поисковой оптимизации сайта (SEO) Генерация RSS в SQL процедуре Интеграция с Яндекс XML API Интеграция API Яндекс.Вебмастер SEO - Как создать виртуальные страницы с одним шаблоном, но под разные ключи Оптимизация по загрузке картинок Как сделать карту сайта Яндекс Турбо - как включить Яндекс Турбо страницы для контента на сайте Интеграция с Тургенев API для проверки качества контента Создание AMP страниц для улучшения позиций в Google Внедрение рекламных блоков в контент Улучшение Pagespeed за счет отключения лишних счетчиков (как убрать некоторые скрипты для пауков, ботов)
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта