TGViewer
Channel Public Channel
Записки м̶о̶л̶о̶д̶о̶г̶о̶ вебмастера

Записки м̶о̶л̶о̶д̶о̶г̶о̶ вебмастера

@yawebmaster

Данный канал посвящён моему опыту в контентных проектах. Так сказать амбициозный новичок в вебмастерском деле с минимальным бюджетом. Стартуем?
Навигация по каналу - https://telegra.ph/Navigaciya-po-kanalu-08-15
Subscribers
976
Photos
169
Videos
10
Links
180
Recent Posts 20 shown
Post #2351 254
С появлением ИИ я очень плотно с ним начал взаимодействовать, но не на уровне - "эт самое, сделай хорошо, а плохо не делай", а на уровне глубокой проработке запроса с корректировками, с вайбкодингом и тп.

И так как статей было сгенерено огромное количество, через разные нейронки, начитанность и считывание нейросетевых паттернов писания у меня огромная.

Нет, это не значит что при чтении текста я триггерюсь на длинное тире или кавычки елочки (для всех адептов таких патернов оговорка - крупные медиа в ред политике обязательно используют длинное тире и кавычки елочки, от*#*итесь вы уже от них), я триггерюсь уже на чуть более тонкие моменты, так как сам их регулярно встречаю и правлю.

Вот пример - нейронка любит экспрессию, даже если ее об этом не просят. И когда ты работаешь с нейротекстами недавно, то для тебя это офигеть какой крутой речевой оборот и он кажется логичным в контексте написанной статьи, но когда ты работаешь с ИИ долго, это уже выглядит как заклинивание на одном и том же моменте:
- "моментальный бан", "сразу же забанят", "улетит в моменте в бан"

Все эти словосочетания в том или ином виде из статей про мультиаккаунтинг и антифрод. Нейронка всегда пихает эти обороты в тексты по данной тематике, хотя по факту как таковых моментальных банов там не так чтобы и много, в основном там постепенное ограничение.

И вот к чему я это? Да просто, сижу читаю очередную партнерскую статью, за которую заплатили 30к, и понимаю что передо мной нейротворение с такими вот оборотами. И вот что делать? Статья пойдет к нему на сайт, фактически риски минимальны, да... Или нет?

Это уже включается специалист, который мог бы поработать над алгоритмами ранжирования Гугла, ведь если статья нейросетевая, Гугл ее может не пустить в выдачу, ее не будет никто читать, а значит клиентов с этой статьи мы не получим, так? А зачем нам статья за 30к? Ради ссылки?

Короче вопросики...

Вы как считаете, нейротексты, хоть и переработанные человеком могут продаваться по 30к? А по 80к?

Я считаю что не могут, но они продаются. Есть уважаемый в своей нише ресурс, который такие статьи продает по 190к (там правда размещение стоит 110, а написание те самые 80) и эти статьи читаются и читаются много (78к прочтений).
  • ❤ 3
  • 😁 1
Post #2350 368
Ох давненько я ничего не писал тут)) Аж скулы сводит))

Короче, прикольная штука приключилась со мной, начали мне писать в один день владельцы ТГ-каналов, с предложением купить у них рекламу. И так складно у них все выходит, пишут такой мед для моих ушей, что страшно становиться.

Писали причем с перерывом в час где то и с одной и той же легендой - сделаем такую рекламу вашего проекта, что вы просто охренеете.

Потом один из них меня познакомил меня со своим корефаном, который, вот повезло, тоже канал имеет свой в ТГ.

Чувствую что где-то нагреть пытаются, но не могу понять где...

Проверяю статистику - там тоже мед, все классно.

Но благо добрые люди рассказали про схему одну - закупают ребята каналы по-дешевке, делают сетки, генерят на них тексты, что не отличить от реального человеческого и идут с предложениями.

Сами друг друга пиарят, накручивают просмотры, показы комменты - в общем серьезный подход. Ну и с одного канала берут по 600-900 долларов.

Ну и математика неплохая получается, 4 канала по 600 баксов, уже 2400 за месяц, а в сетке нифига не 4 канала.

В общем, вот такие дела, малята)))
  • ❤ 6
  • 💯 1
Post #2348 758
Я в последнее время часто работаю с прокси, и обратил внимание, как изменились мобильные прокси.

Вот что вы представляете, когда слышите (или видите) это сочетание слов?

Я лично, до определённого момента, всегда ассоциировал мобильные прокси с фермой из нескольких мобильных устройств, ведь раньше именно так и поднимали сетку таких проксей. Куча мобильных девайсов, телефоны, модемы, все это мигает, пиликает (да, вот такая странная ассоциация, что сказать).

В целом, рынок мобильных прокси на заре своего развития можно было сравнить с сетью автосалонов Бентли в какой-нибудь стране СНГ (они автосалоны вроде бы есть, где-то далеко. Один или два жителя даже заходил туда пару раз... Просто спросить, естественно. Но позволить себе что-то там купить могли далеко не все). Так продолжалось какое то время, пока в 2017 году в первый раз мир проксей не увидел такое явление, как пиринговые сети... Источники могут путаться в цифрах, но период примерно тот.

Впервые такие сети стали появляться у крупных сервисов, типа Luminati и Oxylabs (в целом они то и были первыми).

Сейчас ситуация сильно изменилась, мобильные прокси встали в один ряд с резидентными, за счет повсеместного внедрения этих самых пиринговых сетей.

Пиринговые сети - это когда ip адреса мобильных операторов получают не через собственную мобильную ферму, а напрямую от пользователя, который подключен в сеть при помощи SDK-приложений. Другими словами, на смартфоне стоит игра или приложение, которое шарит ваш трафик провайдеру (вы можете знать об этом или нет, сути это не меняет - вы часть сети).

Вот откуда эти бешеные цифры у провайдеров мобильных прокси в несколько миллионов ip-адресов на разные ГЕО. Ведь получить даже тысячу ip на своей ферме - был тот еще квест, а с peer-to-peer сетью это больше не задачка со звёздочкой.

В целом технология peer-to-peer ничем не уступает по качеству мобильной ферме, но, как говориться есть нюансы. Провайдер не контролирует устройства, а значит он не может гарантировать скорость, устойчивость и латентность сети. Там все зависит от внешних факторов.

Но плюсов тут бесспорно больше - цена снижена, от 80$ за порт мы пришли к 3-5$ за Гб, а ведь есть еще и безлимитные тарифы, от 20$ в месяц.

Конечно, вопрос уже в добросовестности провайдера - у некоторых ручки так и чешутся подмешать в пул с мобильными прокси несколько резидентных, что они там выгадывают таким образом большой вопрос, а карму себе (да и просто репутацию) сильно портят.

Лекарство тут одно, периодические и систематические проверки от пулов перед запуском их в работу.
Post #2346 486
Какой же трэш, Индусы дорвались до Кворка.

Подыскиваю чувака на крауд, и полез на Кворк, а там...

Страна чудес - автопереведенные БИО исполнителей из Индустана. Они уже тут

Не так я себе представлял импортозамещение, конечно...

"Здравствуйте сэр, я экспорт по SEO"
  • 😁 9
Post #2344 580
Давно я ничего не писал, думаю пора обновить ленту.

Я долгое время писал статьи на свой аккаунт Хабр, у меня свои заказчики, для кого я пишу тексты технической и полутехнической направленности, плюс по работе я часто сталкиваюсь с техническими копирайтерами и я знаю, что текст про технологии (что то с кодом, что то про автоматизацию и т.д.) не стоит дешево, авторам неинтересно писать дешево в этой тематике, так как они лучше потратят это время на что-то, что принесет им больше денег.

И вот мне интересно почему Хабр, который позиционирует себя как супер крутой продукт так неуважительно относится к своим авторам, авторы, которые пишут ему технические тексты получают от 5 до 15к за проект (а проект это не одна статья может быть). Фактически Хабр берет с рекламодателя минимум 175к за три месяца за корпоративный блог (это самый минимальный тариф, на максимуме там 360к за 3 месяца просто за возможность писать статьи от лица компании), но своим авторам он готов платить не больше 15к😐😐😐 Я не говорю еще про какой-то кодекс, которого придерживаются сотрудники Хабра))

Кто эти технари, которые пишут им технические тексты за 15к (это кстати, верхняя планка, минимум 5к, и что то мне подсказывает платить стараются именно минимум)? Вы бы подвязались под такой проект за 5-15к?

Я когда дошел до второго вопроса, где и указана цена, сразу закрыл анкету.

Там же еще такой спрос бешеный, что они прям в анкете пишут - может быть, когда нибудь мы с вами свяжемся)))

Хабр это не про заработок - это про команду мечты, вероятно))
  • 😢 1
  • 💯 1
  • 🤝 1
Post #2342 684
А еще сегодня день пофигиста!

- Что?

- Что?
  • 🤩 1
Post #2341 866
В комментах под предыдущим постом скинули мне это расширение - https://chromewebstore.google.com/detail/gsc-guardian/aomiehgfjgolamlllgbkjbnfmdmffcch

Оно накладывает апы гугла на график в серч консоли, то есть если просто надо посмотреть как себя вёл сайт (один сайт) после и во время апа - нормальный вариант.

Но если у вас несколько проектов и надо их сравнивать друг с другом, я все же буду использовать скрипт, который описал выше.

Он выводит на один график все проекты, которые туда добавить, но за расширение спасибо, я не знал о нем
Google GSC Guardian - Chrome Web Store Stay on top of your website's health. Check for incidents in your Google Search Console data with a simple graph.
Post #2339 766


# Добавляем прямоугольники (vrect) для Google Updates
for upd in GOOGLE_UPDATES:
if upd['name'] in selected_updates:
fig.add_vrect(
x0=upd['start'], x1=upd['end'],
fillcolor='red', opacity=0.1, layer='below', line_width=0,
annotation_text=upd['name'],
annotation_position="top left"
)

# Добавляем события (вертикальные линии) для выбранных ev
for ev in EVENTS:
if ev['name'] in selected_events:
date_str = pd.to_datetime(ev['date']).strftime('%Y-%m-%d')
print(f"Adding event line: {ev['name']} at {date_str}") # Диагностика
fig.add_vline(
x=date_str,
line_color='blue',
opacity=1.0,
line_width=2,
layer='above'
)
fig.add_annotation(
x=date_str,
y=1,
xref='x',
yref='paper',
text=ev['name'],
showarrow=True,
arrowhead=2,
ax=0,
ay=-40,
font=dict(color='blue', size=12)
)

# Настройка осей
fig.update_layout(
title="GSC Трафик",
xaxis_title="Дата",
yaxis_title="Значение",
legend_title="Сайты и метрики",
xaxis=dict(
tickmode='linear',
tick0=pd.to_datetime(START_DATE),
dtick=86400000.0, # один день (в мс)
tickformat="%d-%m-%Y",
rangeslider=dict(visible=True),
)
)

# Если метрик нет => вручную задаём X-ось (иначе range может оказаться [0..1])
if not selected_metrics:
print("No metrics selected -> Forcing x-range to START..END")
fig.update_xaxes(range=[START_DATE, END_DATE])

# Обработка зума (для Y-оси)
if relayoutData:
if "xaxis.range[0]" in relayoutData and "xaxis.range[1]" in relayoutData and selected_metrics:
x_start = pd.to_datetime(relayoutData["xaxis.range[0]"])
x_end = pd.to_datetime(relayoutData["xaxis.range[1]"])
mask = (filtered_df['date'] >= x_start) & (filtered_df['date'] <= x_end)
zoomed_df = filtered_df[mask]
if not zoomed_df.empty:
y_min = zoomed_df[selected_metrics].min().min()
y_max = zoomed_df[selected_metrics].max().max()
y_padding = (y_max - y_min) * 0.05
fig.update_yaxes(range=[y_min - y_padding, y_max + y_padding])

# Чтобы при переключении чекбоксов не сбрасывался зум или аннотации
fig.update_layout(uirevision='fixed')

return fig

if __name__ == '__main__':
app.run(debug=True)


В данном коде необходимо изменить следующее:

Строка 14 - вписать ваши домены, которые нужно вывести на графике
Строка 19 - указываем период, за который нужны данные (если проектов много, рекомендую не брать слишком большой период - будет долго подгружать)
Строка - 25-46 - тут я вписал апы Гугла - вы можете добавить если что то не указано
Строка 48 - тут вписываете события, которые хотите видеть на графике (они будут показаны вертикальной линией, как на скрине выше)
Строка 84 - название вашего JSON - файла (который расположен в той же папке, что и сам скрипт)

Все - вы почти готовы начинать...

Устанавливаем зависимости этой командой

pip install dash plotly pandas google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client


И запускаем скрипт
python main.py


Когда скрипт запустится вы увидите в терминале, что дашборд доступен по локальному адресу, в моем случае это - http://127.0.0.1:8050 - переходим по этому адресу и работаем с дашбордом

Ну и да, новые апы нужно будет добавлять руками уже самостоятельно, а как вы хотели, некоммерческие проекты они такие🤷
  • 👍 4
Post #2338 439


def fetch_gsc_data(property_uri, start_date, end_date, creds):
service = build('searchconsole', 'v1', credentials=creds)
body = {
'startDate': start_date,
'endDate': end_date,
'dimensions': ['date'],
'rowLimit': 10000
}
response = service.searchanalytics().query(siteUrl=property_uri, body=body).execute()
rows = response.get('rows', [])
data = []
for r in rows:
d = r['keys'][0]
data.append({
'date': d,
'clicks': r.get('clicks', 0),
'impressions': r.get('impressions', 0),
'position': r.get('position', 0)
})
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
return df

def load_all_data(
start_date=START_DATE,
end_date=END_DATE,
sites=SITES,
creds_file="Название вашего JSON-файла"
):
creds = service_account.Credentials.from_service_account_file(
creds_file,
scopes=["https://www.googleapis.com/auth/webmasters.readonly"]
)
all_df = []
for s in sites:
df_s = fetch_gsc_data(s, start_date, end_date, creds)
df_s['domain'] = s
all_df.append(df_s)
big_df = pd.concat(all_df, ignore_index=True)
return big_df

app = dash.Dash(__name__)
GLOBAL_DF = None # кешируем загруженные данные

app.layout = html.Div([
html.H1("GSC Дашборд - Клики, Показы, Позиция"),

html.Div([
html.Label("Выберите сайт(-ы):"),
dcc.Checklist(
id='site-selector',
options=[{'label': site, 'value': site} for site in SITES],
value=SITES,
inline=True
),
]),

html.Div([
html.Label("Метрики:"),
dcc.Checklist(
id='metric-selector',
options=[
{'label': 'Клики', 'value': 'clicks'},
{'label': 'Показы', 'value': 'impressions'},
{'label': 'Позиция', 'value': 'position'},
],
# Если тут пусто, у нас нет рядов данных => ось X может стать [0..1]
value=[],
inline=True
),
]),

html.Div([
html.Label("Показать Google Updates:"),
dcc.Checklist(
id='updates-toggle',
options=[{'label': u['name'], 'value': u['name']} for u in GOOGLE_UPDATES],
value=[],
inline=True
),
]),

html.Div([
html.Label("Показать события:"),
dcc.Checklist(
id='events-toggle',
options=[{'label': e['name'], 'value': e['name']} for e in EVENTS],
value=[],
inline=True
),
]),

dcc.Graph(id='gsc-graph')
])

@app.callback(
Output('gsc-graph', 'figure'),
[
Input('site-selector', 'value'),
Input('metric-selector', 'value'),
Input('updates-toggle', 'value'),
Input('events-toggle', 'value'),
Input('gsc-graph', 'relayoutData')
]
)
def update_graph(selected_sites, selected_metrics, selected_updates, selected_events, relayoutData):
global GLOBAL_DF
if GLOBAL_DF is None:
GLOBAL_DF = load_all_data()

print("=== CALLBACK ===")
print("Selected events: ", selected_events) # Проверяем в консоли, что выбрано

fig = go.Figure()

# Фильтруем общий DF по выбранным доменам
filtered_df = GLOBAL_DF[GLOBAL_DF['domain'].isin(selected_sites)]

# Если выбраны метрики, строим линии
if selected_metrics:
for site in selected_sites:
df_site = filtered_df[filtered_df['domain'] == site].sort_values('date')
for metric in selected_metrics:
fig.add_trace(go.Scatter(
x=df_site['date'],
y=df_site[metric],
mode='lines',
name=f"{site} - {metric}"
))
Post #2337 432
Палю годноту - рабочее решение для сопоставления вашего трафика (показов, кликов, позиций) из Серч консоли с апдейтами Гугла

Не прям автоматизированное решение, где вся инфа подгружается автоматом, понадобится провести настройку, но все работает в итоге, без мам пап и всяких платных посредников.

Настраиваем свой персональный дашбоард у себя на компе, для чего нужно:
1 - Создать проект в Google Cloud Console
Переходим на https://console.cloud.google.com/
Создаем новый проект
Переходим в APIs & Services → Library
Находим и включаем API:
Google Search Console API

2. Создать Service Account
Переходим в IAM & Admin → Service Accounts
Нажимаем Create Service Account и создаем его
Далее создаем и скачаем JSON-файл с ключом (credentials.json)
Сохраняем этот файл – он понадобится в корне проекта (в той же папке, где будет основной скрипт)

Почту из строки client_email необходимо будет добавить в качестве админа в вашей Серч Консоли (для нужного сайта).

Далее в той же папке, где у вас лежит JSON-файл создаем файл с расширением .py, я делаю всегда так - main.py

import os
import json
import pandas as pd
import plotly.graph_objs as go
import dash
from dash import dcc, html
from datetime import datetime
from dash.dependencies import Input, Output

from google.oauth2 import service_account
from googleapiclient.discovery import build

# Ваши константы
SITES = [
"sc-domain:Ваш домен",
"sc-domain:Ваш домен",
]

# Даты, за которые берем данные
START_DATE = "2024-01-01"
END_DATE = "2025-04-12"

# ============================================================
# Обновленный список Google Updates с дополнительными данными
# ============================================================
GOOGLE_UPDATES = [
{"name": "March 2025 core update", "start": "2025-03-13", "end": "2025-03-26"},
{"name": "December 2024 spam update", "start": "2024-12-19", "end": "2024-12-26"},
{"name": "December 2024 core update", "start": "2024-12-12", "end": "2024-12-18"},
{"name": "November 2024 core update", "start": "2024-11-11", "end": "2024-12-04"},
{"name": "Ranking is experiencing an ongoing issue (Aug 2024)", "start": "2024-08-15", "end": "2024-08-19"},
{"name": "August 2024 core update", "start": "2024-08-15", "end": "2024-09-03"},
{"name": "June 2024 spam update", "start": "2024-06-20", "end": "2024-06-27"},
{"name": "March 2024 spam update", "start": "2024-03-05", "end": "2024-03-19"},
{"name": "March 2024 core update", "start": "2024-03-05", "end": "2024-04-19"},
{"name": "November 2023 reviews update", "start": "2023-11-08", "end": "2023-12-07"},
{"name": "November 2023 core update", "start": "2023-11-02", "end": "2023-11-27"},
{"name": "October 2023 core update", "start": "2023-10-05", "end": "2023-10-18"},
{"name": "Ranking is experiencing an ongoing issue (Oct 2023)", "start": "2023-10-05", "end": "2023-10-31"},
{"name": "October 2023 spam update", "start": "2023-10-04", "end": "2023-10-19"},
{"name": "September 2023 helpful content update", "start": "2023-09-14", "end": "2023-09-27"},
{"name": "August 2023 core update", "start": "2023-08-22", "end": "2023-09-07"},
{"name": "April 2023 reviews update", "start": "2023-04-12", "end": "2023-04-25"},
{"name": "March 2023 core update", "start": "2023-03-15", "end": "2023-03-28"},
{"name": "February 2023 product reviews update", "start": "2023-02-21", "end": "2023-03-07"},
]

# События на сайте
EVENTS = [
{"name": "Ваше событие", "date": "2024-02-12"},
{"name": "Ваше событие", "date": "2024-02-16"},
{"name": "Ваше событие", "date": "2024-02-27"},
{"name": "Ваше событие", "date": "2024-03-20"},
{"name": "Ваше событие", "date": "2024-03-21"},
]
Post #2336 666
Когда написал статью на Хабре и ждал хороших комментариев, а тебе накидали минусов
  • 😢 1
Post #2335 636
Накипело в очередной раз, с этим Хабром блин...

Почему вот так получается - пишешь статью, ну полная хрень, прям откровенно воняет рекламой, публикуешь скрепя сердцем на Хабре - статья попадает в Топ выдачи, проходит мимо едких и говнокомментаторов и все в целом с ней гуд. Она не портит карму аккаунту, и спокойненько сидит себе в топе.

Но вот ты взял интересную тему, разобрался в вопросе (не глубоко, вероятно, но все же), потратил неделю в общей сложности на сбор информации, осознание ее у себя в голове - написал статью, потратил пару часов на оформление, чтоб было не так сухо читать.

Налетели говнокоммментаторы и убивают карму своими минусами? Думал короче ты Лев Толстой, а на деле... Ну вы поняли.

И нет бы еще че нить дельное писали - а то обзываются, говорят нейротекст и тп.

Короче Хабр - сука, сложная штука, а аудитория там еще сложнее..
  • 😁 3
  • 😢 1
  • 🎉 1
Post #2333 730
Нашел в интернетах гайд, как настроить у себя на локальном компьютере мощщщщную Нейросеть, чтобы она могла поглощать большие файлы, и не упиралась в лимит строк. Условно, если даешь объемный файл нейросети на анализ в рамках чата, она не сможет обработать больше своего лимита, а вот если настроить через этот гайд - будет есть большие файлы без проблем.

Сразу спойлер - на бесплатной версии это особо не помогло. Я скормил ей файд на 1600 строк, она пыхтела, пыхтела.. Пыхтела пыхтела, несколько раз я писал ей продолжай, она продолжала пыхтеть и в конце концов уперлась в ограничение по бесплатным запросам. Результат не было

GPT о3 с первого раза смог интерпретировать эти 1600 запросов. Дальше думатйте сами, надо оно вам или нет, но вот гайд по установке такого себе на локаль. работает с Claude

1 - Ставим себе декстопную версию Claude
2 - Ставим Питон (если еще не)
3 - Ставим зависимости, я через VSCode ставил, вот команда
powershell -ExecutionPolicy Bypass -c "pip install uv"

4 - Клонируем себе на комп этот репо (Это MCP сервер, на котором и будут обрабатываться большие файлы)
5 - Авторизуемся в Клоде и включаем там режим разработчика (слева вверху меню - Help - Enable Developer Mode)
6 - Открываем настройки (File - Settings - Developer - Edit Config)
7 - Открываем этот файл claude_desktop_config.json блокнотом или любым другим расширением для работы с файлами)
8 - Прописываем в нем такой код:
{
"mcpServers": {
"data_explore": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\<your-username>\\Documents\\mcp_servers\\mcp-server-data-exploration\\src\\mcp_server_ds",
"run",
"mcp-server-ds"
]
}
}
}


Вот тут - C:\\Users\\<your-username>\\Documents\\mcp_servers\\mcp-server-data-exploration\\src\\mcp_server_ds
Нужно будет поменять путь к вашему серверу (тот который мы клонировали из Гитхаба. Обратите внимание - концовка там такая же как у меня (mcp-server-data-exploration\\src\\mcp_server_ds ), а вот начало, ваша папка

И еще тонкость - двойные слеши, без них у меня не работает.

После этого сохраняете файл и перезагружаете Клода, долен в диалоговом окне появится молоточек слева внизу, если его нет, попробуйте еще перезагрузить, у меня со второго раза сработало.

С этой надстройкой Клод ест только CSV файлы (xls не взял), чтобы он смог прочитать файл с вашего компа, в диалоговом окне присылаете ему путь до файла (с именем файла и разрешением, пример - C:\\file.csv и запросом, что нужно с файлом сделать.

Разрешаете ему копаться в вашем компе и все.

Пользуйтесь, но есть ощущение что нужен платный Клод...

Вот оригинал статьи, смотреть с ВПН -
Claude Claude is Anthropic's AI, built for problem solvers. Tackle complex challenges, analyze data, write code, and think through your hardest work.
  • 👍 1
Older posts →

About this channel

How can I read @yawebmaster without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Записки м̶о̶л̶о̶д̶о̶г̶о̶ вебмастера: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Записки м̶о̶л̶о̶д̶о̶г̶о̶ вебмастера have?
Записки м̶о̶л̶о̶д̶о̶г̶о̶ вебмастера (@yawebmaster) has 976 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Записки м̶о̶л̶о̶д̶о̶г̶о̶ вебмастера know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →