57 | >
58 | )
59 | }
60 |
--------------------------------------------------------------------------------
/src/i18n.ts:
--------------------------------------------------------------------------------
1 | import { LocaleType, appConfig } from "@/config";
2 | import deepmerge from "deepmerge";
3 | import type { AbstractIntlMessages } from "next-intl";
4 | import { getRequestConfig } from "next-intl/server";
5 |
6 | import z from "zod";
7 |
8 | export const getLocale = async (
9 | locale: string,
10 | ): Promise => {
11 | return (await import(`../public/i18n/${locale}.json`)).default as AbstractIntlMessages
12 | };
13 |
14 | export const getMessagesForLocale = async (
15 | locale: string,
16 | ): Promise => {
17 | const localeMessages = await getLocale(locale);
18 | if (locale === appConfig.i18n.defaultLocale) {
19 | return localeMessages;
20 | }
21 | const defaultLocaleMessages = await getLocale(
22 | appConfig.i18n.defaultLocale,
23 | );
24 | try {
25 | return deepmerge(defaultLocaleMessages, localeMessages);
26 | } catch (error: any) {
27 | console.error("getMessagesForLocale deepmerge:", error.messages);
28 | return defaultLocaleMessages;
29 | }
30 | };
31 |
32 | export default getRequestConfig(async ({ locale }) => ({
33 | messages: await getMessagesForLocale(locale),
34 | }));
35 |
36 | // I18n Components Markdown
37 | export const componentsMarkdownFile = "data/generated/components-markdown.json";
38 | export const contentComponentsMarkdownDir = 'content/components';
39 |
40 | export const I18nComponentMarkdownSchema = z.record(
41 | z.object({
42 | locales: z.array(z.enum(appConfig.i18n.locales))
43 | })
44 | );
45 | export type I18nComponentMarkdown = z.infer;
46 | let loadComponentsMarkdownData: I18nComponentMarkdown;
47 |
48 | const loadComponentsMarkdown = async () => {
49 | if (!loadComponentsMarkdownData) {
50 | try {
51 | const data = (await import(`../public/data/generated/components-markdown.json`)).default as I18nComponentMarkdown;
52 | loadComponentsMarkdownData = I18nComponentMarkdownSchema.parse(data);
53 | } catch (validationError: any) {
54 | console.error("Validation error:", validationError.errors);
55 | }
56 | }
57 | return loadComponentsMarkdownData;
58 | }
59 |
60 | /**
61 | * @param componentPathName Find in public/data/generated/components-markdown.json
62 | * @param origin const headersList = headers(); \n const origin = getOrigin({headers: headersList});
63 | * @returns
64 | */
65 | export const getComponentMarkdown = async ({
66 | locale,
67 | componentPathName,
68 | origin
69 | }: {
70 | locale: LocaleType;
71 | componentPathName: string;
72 | origin: string;
73 | }): Promise => {
74 | const componentsMarkdownData = await loadComponentsMarkdown();
75 | if (!componentsMarkdownData) return undefined;
76 | if (!(componentPathName in componentsMarkdownData)) {
77 | throw new Error("componentPathName Error")
78 | }
79 | // load locales by componentPathName
80 | const { locales } = componentsMarkdownData[componentPathName] as { locales: LocaleType[] };
81 | const currentLocale = locales.includes(locale) ? locale : appConfig.i18n.defaultLocale;
82 |
83 | const filePath = `/${contentComponentsMarkdownDir}/${componentPathName}/${currentLocale}.md`;
84 | try {
85 | const response = await fetch(`${origin}${filePath}`);
86 | return await response.text();
87 | } catch (error) {
88 | console.error(`Error reading Markdown file: ${error}`);
89 | return undefined;
90 | }
91 | };
--------------------------------------------------------------------------------
/public/content/components/home/block1/sv.md:
--------------------------------------------------------------------------------
1 | ## Nyckelfunktioner
2 |
3 | - Masskontroll av omdirigeringar för flera URL:er
4 | - Detaljerad analys av omdirigeringsvägar
5 | - Stöd för HTTPS-omdirigeringar
6 | - Anpassad användaragentval
7 | - SEO-påverkan bedömning
8 | - Upptäckte omdirigeringsloopar
9 | - Analys av 301, 302, 303, 307 och 308 omdirigeringar
10 | - Kontroll av meta-refresh och JavaScript-omdirigeringar
11 | - HTTP-headeranalys (statuskod, X-Robots-Tag, Rel Canonical)
12 |
13 | ## Förstå omdirigeringar
14 |
15 | ### Vad är URL-omdirigeringar?
16 |
17 | URL-omdirigeringar är ett sätt att skicka användare och sökmotorer från en URL till en annan. De är avgörande för:
18 |
19 | - Att bibehålla SEO vid webbplatsmigrationer
20 | - Hantera borttagna eller flyttade sidor
21 | - Förbättra användarupplevelsen
22 | - Konsolidera flera webbplatsägodelar
23 | - Spåra effektiviteten av marknadsföringskampanjer
24 |
25 | ### Typer av omdirigeringar
26 |
27 | - **301 eller 308 Omdirigering (Permanent):** Indikerar att en sida har flyttats permanent till en ny plats.
28 | - **302 eller 307 Omdirigering (Tillfällig):** Indikerar att en sida tillfälligt finns på en annan URL.
29 | - **303 Omdirigering (se annat):** Bör användas för att omdirigera användare till en annan webbadress efter en åtgärd, men används ibland istället för en mer lämplig typ.
30 | - **Meta Refresh:** En typ av omdirigering som implementeras på HTML-nivå istället för på servernivå.
31 | - **JavaScript Omdirigering:** Omdirigeringar implementerade med JavaScript, vilket ofta är mindre fördelaktigt för SEO.
32 |
33 | ## Varför Kontrollera Dina Omdirigeringar?
34 |
35 | - Säkerställ att korrekta SEO-praxis följs
36 | - Identifiera och åtgärda omdirigeringskedjor som kan sakta ner din webbplats
37 | - Förhindra omdirigeringsloopar som kan göra sidor otillgängliga
38 | - Optimera webbplatsens prestanda genom att minska onödiga omdirigeringar
39 | - Bevara länkekviteten under webbplatsomstruktureringar eller migrationer
40 | - Verifiera att HTTPS-omdirigeringar är korrekt implementerade
41 | - Säkerställ att omdirigerade sidor pekar på rätt destinationer
42 |
43 | ## Hur Använder Du Vår Omdirigeringskontroll
44 |
45 | 1. Ange din URL i inmatningsfältet (kom ihåg att inkludera `http://` eller `https://`).
46 | 2. Välj en användaragent från rullgardinsmenyn (valfritt).
47 | 3. Klicka på knappen "Kontrollera omdirigeringar".
48 | 4. Vänta medan verktyget analyserar din URL.
49 | 5. Granska de detaljerade resultaten, inklusive:
50 | - Fullständig omdirigeringskedja
51 | - HTTP-statuskoder för varje steg
52 | - Mellanliggande URL:er i omdirigeringsprocessen
53 | - Slutlig destination URL
54 | - Totalt antal omdirigeringar i kedjan
55 |
56 | ## SEO-Implikationer av Omdirigeringar
57 |
58 | - **301 eller 308 omdirigeringar** överför det mesta av länkekviteten till den nya URL:en.
59 | - **302 eller 307 omdirigeringar** är mindre idealiska för SEO eftersom de överför mindre länkekvitet.
60 | - **303 omdirigeringar** har mindre effekt för SEO eftersom de är designade för användarupplevelse och formulärhantering.
61 | - Undvik långa omdirigeringskedjor eftersom de kan späda ut SEO-värdet och sakta ner sidladdningstider.
62 | - Använd omdirigeringar för att konsolidera duplicerat innehåll och förbättra den övergripande SEO:n på din webbplats.
63 | - Implementera HTTPS-omdirigeringar korrekt för att säkerställa säker webbläsning utan att förlora SEO-värde.
64 | - Utför regelbundna granskningar av dina omdirigeringar för att upptäcka och åtgärda eventuella problem som kan uppstå över tid.
65 |
--------------------------------------------------------------------------------
/public/content/components/home/block1/tr.md:
--------------------------------------------------------------------------------
1 | ## Ana Özellikler
2 |
3 | - Birden fazla URL için toplu yönlendirme kontrolü
4 | - Ayrıntılı yönlendirme yol analizi
5 | - HTTPS yönlendirmelerini destekler
6 | - Özel kullanıcı ajanı seçimi
7 | - SEO etki değerlendirmesi
8 | - Yönlendirme döngüsü tespiti
9 | - 301, 302, 303, 307 ve 308 yönlendirme analizi
10 | - Meta yenileme ve JavaScript yönlendirme kontrolü
11 | - HTTP başlık analizi (Durum Kodu, X-Robots-Tag, Rel Canonical)
12 |
13 | ## Yönlendirmeleri Anlamak
14 |
15 | ### URL Yönlendirmeleri Nedir?
16 |
17 | URL yönlendirmeleri, kullanıcıları ve arama motorlarını bir URL'den diğerine yönlendirmek için kullanılan bir yöntemdir. Şunlar için kritiktirler:
18 |
19 | - Site göçleri sırasında SEO'nun korunması
20 | - Silinmiş veya taşınmış sayfaların yönetimi
21 | - Kullanıcı deneyiminin iyileştirilmesi
22 | - Birden fazla web varlığının konsolide edilmesi
23 | - Pazarlama kampanyalarının etkinliğinin izlenmesi
24 |
25 | ### Yönlendirme Türleri
26 |
27 | - **301 veya 308 Yönlendirme (Kalıcı):** Bir sayfanın kalıcı olarak yeni bir konuma taşındığını belirtir.
28 | - **302 veya 307 Yönlendirme (Geçici):** Bir sayfanın geçici olarak farklı bir URL'de olduğunu öne sürer.
29 | - **303 Yönlendirme (Diğerlerine Bakınız):** Bir eylemden sonra kullanıcıları farklı bir URL'ye yönlendirmek için kullanılmalıdır ancak bazen daha uygun bir tür yerine kullanılır.
30 | - **Meta Yenileme:** Sunucu yerine HTML seviyesinde uygulanan bir yönlendirme türüdür.
31 | - **JavaScript Yönlendirmesi:** JavaScript kullanılarak uygulanan yönlendirmeler, genellikle SEO için daha az tercih edilir.
32 |
33 | ## Yönlendirmelerinizi Neden Kontrol Etmelisiniz?
34 |
35 | - Doğru SEO uygulamalarının takip edildiğinden emin olun
36 | - Sitenizi yavaşlatabilecek yönlendirme zincirlerini tespit edin ve düzeltin
37 | - Sayfaların erişilemez hale gelmesini önlemek için yönlendirme döngülerini engelleyin
38 | - Gereksiz yönlendirmeleri azaltarak site performansını optimize edin
39 | - Site yeniden yapılandırmaları veya göçleri sırasında bağlantı değerini koruyun
40 | - HTTPS yönlendirmelerinin doğru şekilde uygulandığını doğrulayın
41 | - Yönlendirilmiş sayfaların doğru hedeflere işaret ettiğinden emin olun
42 |
43 | ## Yönlendirme Kontrol Aracımızı Nasıl Kullanırsınız?
44 |
45 | 1. URL'nizi giriş alanına girin (unutmayın, `http://` veya `https://` ekleyin).
46 | 2. Açılır menüden bir kullanıcı ajanı seçin (isteğe bağlı).
47 | 3. "Yönlendirmeleri Kontrol Et" butonuna tıklayın.
48 | 4. Aracın URL'nizi analiz etmesini bekleyin.
49 | 5. Şu ayrıntıları içeren sonuçları gözden geçirin:
50 | - Tam yönlendirme zinciri
51 | - Her adım için HTTP durum kodları
52 | - Yönlendirme sürecindeki ara URL'ler
53 | - Son varış URL'si
54 | - Zincirdeki toplam yönlendirme sayısı
55 |
56 | ## Yönlendirmelerin SEO Üzerindeki Etkileri
57 |
58 | - **301 veya 308 yönlendirmeleri**, çoğu bağlantı değerini yeni URL'ye aktarır.
59 | - **302 veya 307 yönlendirmeleri** SEO için daha az idealdir çünkü daha az bağlantı değeri aktarır.
60 | - **303 yönlendirmeleri** kullanıcı deneyimi ve form yönetimi için tasarlandığından SEO açısından daha az etkilidir.
61 | - Uzun yönlendirme zincirlerinden kaçının çünkü bu, SEO değerini azaltabilir ve sayfa yükleme sürelerini yavaşlatabilir.
62 | - Tekrarlanan içeriği konsolide etmek için yönlendirmeleri kullanın, böylece sitenizin genel SEO'sunu iyileştirin.
63 | - HTTPS yönlendirmelerini doğru bir şekilde uygulayarak güvenli taramayı sağlayın ve SEO değerini kaybetmeyin.
64 | - Zamanla oluşabilecek sorunları tespit etmek ve düzeltmek için yönlendirmelerinizi düzenli olarak denetleyin.
65 |
--------------------------------------------------------------------------------
/public/content/components/home/block1/nl.md:
--------------------------------------------------------------------------------
1 | ## Belangrijkste Kenmerken
2 |
3 | - Massale controle van omleidingen voor meerdere URL's
4 | - Gedetailleerde analyse van omleidingspaden
5 | - Ondersteuning voor HTTPS-omleidingen
6 | - Aangepaste gebruikersagentselectie
7 | - SEO-impactbeoordeling
8 | - Detectie van omleidingslussen
9 | - Analyse van 301-, 302-, 303-, 307- en 308-omleidingen
10 | - Controle van meta-refresh en JavaScript-omleidingen
11 | - HTTP-headeranalyse (statuscode, X-Robots-Tag, Rel Canonical)
12 |
13 | ## Omleidingen Begrijpen
14 |
15 | ### Wat zijn URL-omleidingen?
16 |
17 | URL-omleidingen zijn een manier om gebruikers en zoekmachines van de ene URL naar de andere te sturen. Ze zijn cruciaal voor:
18 |
19 | - Het behoud van SEO tijdens site-migraties
20 | - Het beheren van verwijderde of verplaatste pagina's
21 | - Het verbeteren van de gebruikerservaring
22 | - Het consolideren van meerdere web-eigendommen
23 | - Het volgen van de effectiviteit van marketingcampagnes
24 |
25 | ### Soorten Omleidingen
26 |
27 | - **301 of 308 Omleiding (Permanent):** Geeft aan dat een pagina permanent naar een nieuwe locatie is verplaatst.
28 | - **302 of 307 Omleiding (Tijdelijk):** Suggereert dat een pagina tijdelijk op een andere URL is geplaatst.
29 | - **303 Redirect (zie Overige):** Moet worden gebruikt om gebruikers na een actie naar een andere URL te leiden, maar wordt soms gebruikt in plaats van een meer geschikt type.
30 | - **Meta Refresh:** Een soort omleiding die op HTML-niveau wordt geïmplementeerd in plaats van op serverniveau.
31 | - **JavaScript Omleiding:** Omleidingen die met JavaScript worden geïmplementeerd, vaak minder gunstig voor SEO.
32 |
33 | ## Waarom Je Omleidingen Controleren?
34 |
35 | - Zorg ervoor dat de juiste SEO-praktijken worden gevolgd
36 | - Identificeer en repareer omleidingsketens die je site kunnen vertragen
37 | - Voorkom omleidingslussen die pagina's ontoegankelijk kunnen maken
38 | - Optimaliseer de prestaties van je site door onnodige omleidingen te verminderen
39 | - Behoud link equity tijdens siteherstructureringen of migraties
40 | - Controleer of HTTPS-omleidingen correct zijn geïmplementeerd
41 | - Zorg ervoor dat omgeleide pagina's naar de juiste bestemmingen verwijzen
42 |
43 | ## Hoe Onze Omleidingschecker Te Gebruiken
44 |
45 | 1. Voer je URL in het invoerveld in (vergeet niet `http://` of `https://` toe te voegen).
46 | 2. Selecteer een gebruikersagent uit het dropdownmenu (optioneel).
47 | 3. Klik op de knop "Controleer omleidingen".
48 | 4. Wacht tot de tool je URL analyseert.
49 | 5. Bekijk de gedetailleerde resultaten, inclusief:
50 | - Volledige omleidingsketen
51 | - HTTP-statuscodes voor elke stap
52 | - Tussenliggende URL's in het omleidingsproces
53 | - Eindbestemming URL
54 | - Totaal aantal omleidingen in de keten
55 |
56 | ## SEO-Implicaties Van Omleidingen
57 |
58 | - **301 of 308 omleidingen** geven de meeste link equity door naar de nieuwe URL.
59 | - **302 of 307 omleidingen** zijn minder ideaal voor SEO omdat ze minder link equity doorgeven.
60 | - **303-omleidingen** hebben minder impact op SEO, omdat ze zijn ontworpen voor de gebruikerservaring en formulierverwerking.
61 | - Vermijd lange omleidingsketens, omdat ze de SEO-waarde kunnen verdunnen en de laadtijden van pagina's kunnen vertragen.
62 | - Gebruik omleidingen om dubbele inhoud te consolideren en de algehele SEO van je site te verbeteren.
63 | - Implementeer HTTPS-omleidingen correct om veilige browsen te garanderen zonder SEO-waarde te verliezen.
64 | - Voer regelmatig audits uit op je omleidingen om problemen die in de loop van de tijd kunnen optreden te identificeren en op te lossen.
65 |
--------------------------------------------------------------------------------
/public/content/components/home/block1/pl.md:
--------------------------------------------------------------------------------
1 | ## Kluczowe funkcje
2 |
3 | - Masowe sprawdzanie przekierowań dla wielu URL-i
4 | - Szczegółowa analiza ścieżek przekierowań
5 | - Wsparcie dla przekierowań HTTPS
6 | - Wybór niestandardowego agenta użytkownika
7 | - Ocena wpływu SEO
8 | - Wykrywanie pętli przekierowań
9 | - Analiza przekierowań 301, 302, 303, 307 i 308
10 | - Sprawdzanie przekierowań Meta Refresh i JavaScript
11 | - Analiza nagłówków HTTP (Kod statusu, X-Robots-Tag, Rel Canonical)
12 |
13 | ## Rozumienie przekierowań
14 |
15 | ### Czym są przekierowania URL?
16 |
17 | Przekierowania URL to sposób, w jaki można przesłać użytkowników i wyszukiwarki z jednego URL-a do drugiego. Są one kluczowe dla:
18 |
19 | - Utrzymania SEO podczas migracji witryny
20 | - Zarządzania usuniętymi lub przeniesionymi stronami
21 | - Poprawy doświadczeń użytkowników
22 | - Konsolidacji wielu właściwości internetowych
23 | - Śledzenia efektywności kampanii marketingowych
24 |
25 | ### Rodzaje przekierowań
26 |
27 | - **Przekierowanie 301 lub 308 (Trwałe):** Wskazuje, że strona została trwale przeniesiona do nowej lokalizacji.
28 | - **Przekierowanie 302 lub 307 (tymczasowe):** sugeruje, że strona tymczasowo znajduje się pod innym adresem URL.
29 | - **Przekierowanie 303 (zobacz inne):** Powinno być używane do przekierowywania użytkowników do innego adresu URL po wykonaniu akcji, ale czasami jest używane zamiast bardziej odpowiedniego typu.
30 | - **Odświeżanie meta:** Typ przekierowania implementowanego na poziomie HTML, a nie na poziomie serwera.
31 | - **Przekierowanie JavaScript:** Przekierowania implementowane za pomocą JavaScript, często mniej korzystne dla SEO.
32 |
33 | ## Dlaczego warto sprawdzać przekierowania?
34 |
35 | - Upewnij się, że przestrzegane są właściwe praktyki SEO
36 | - Zidentyfikuj i napraw łańcuchy przekierowań, które mogą spowalniać Twoją witrynę
37 | - Zapobiegaj pętlom przekierowań, które mogą powodować niedostępność stron
38 | - Zoptymalizuj wydajność witryny, zmniejszając liczbę niepotrzebnych przekierowań
39 | - Utrzymuj równość linków podczas restrukturyzacji lub migracji witryny
40 | - Sprawdź, czy przekierowania HTTPS są poprawnie wdrożone
41 | - Upewnij się, że przekierowane strony wskazują na właściwe miejsca docelowe
42 |
43 | ## Jak korzystać z naszego narzędzia do sprawdzania przekierowań
44 |
45 | 1. Wprowadź swój adres URL w polu wejściowym (nie zapomnij uwzględnić `http://` lub `https://`).
46 | 2. Wybierz agenta użytkownika z menu rozwijanego (opcjonalnie).
47 | 3. Kliknij przycisk „Sprawdź przekierowania”.
48 | 4. Poczekaj, aż narzędzie przeanalizuje Twój adres URL. 5. Przejrzyj szczegółowe wyniki, w tym:
49 | - Pełny łańcuch przekierowań
50 | - Kody statusu HTTP dla każdego kroku
51 | - Pośrednie adresy URL w procesie przekierowania
52 | - Ostateczny adres URL docelowy
53 | - Całkowita liczba przekierowań w łańcuchu
54 |
55 | ## Implikacje przekierowań dla SEO
56 |
57 | - **Przekierowania 301 lub 308** przekazują większość kapitału linku do nowego adresu URL.
58 | - **Przekierowania 302 lub 307** są mniej idealne dla SEO, ponieważ nie przekazują tak dużo kapitału linku.
59 | - **Przekierowania 303** mają mniejszy wpływ na SEO, ponieważ są projektowane z myślą o doświadczeniu użytkownika i obsłudze formularzy.
60 | - Unikaj długich łańcuchów przekierowań, ponieważ mogą one osłabiać wartość SEO i spowalniać czas ładowania strony.
61 | - Używaj przekierowań, aby skonsolidować zduplikowaną treść, poprawiając ogólne SEO swojej witryny.
62 | - Poprawnie wdrażaj przekierowania HTTPS, aby zapewnić bezpieczne przeglądanie bez utraty wartości SEO.
63 | - Regularnie audytuj swoje przekierowania, aby wyłapywać i naprawiać wszelkie problemy, które mogą pojawić się z czasem.
64 |
--------------------------------------------------------------------------------
/public/content/components/home/block1/ru.md:
--------------------------------------------------------------------------------
1 | ## Основные функции
2 |
3 | - Массовая проверка перенаправлений для нескольких URL
4 | - Подробный анализ путей перенаправления
5 | - Поддержка перенаправлений HTTPS
6 | - Выбор пользовательского агента
7 | - Оценка влияния на SEO
8 | - Обнаружение циклов перенаправления
9 | - Анализ перенаправлений 301, 302, 303, 307 и 308
10 | - Проверка мета-обновлений и перенаправлений на JavaScript
11 | - Анализ HTTP-заголовков (код состояния, X-Robots-Tag, Rel Canonical)
12 |
13 | ## Понимание перенаправлений
14 |
15 | ### Что такое URL перенаправления?
16 |
17 | URL перенаправления — это способ перенаправления пользователей и поисковых систем с одного URL на другой. Они важны для:
18 |
19 | - Сохранения SEO при миграции сайта
20 | - Управления удаленными или перемещенными страницами
21 | - Улучшения пользовательского опыта
22 | - Консолидации нескольких веб-свойств
23 | - Отслеживания эффективности маркетинговых кампаний
24 |
25 | ### Типы перенаправлений
26 |
27 | - **301 или 308 перенаправление (Постоянное):** Указывает, что страница навсегда перемещена на новую локацию.
28 | - **302 или 307 перенаправление (Временное):** Указывает, что страница временно находится по другому URL.
29 | - **303 перенаправление (см. другие):** Следует использовать для перенаправления пользователей на другой URL-адрес после действия, но иногда используется вместо более подходящего типа.
30 | - **Meta Refresh:** Тип перенаправления, реализованный на уровне HTML, а не на уровне сервера.
31 | - **JavaScript### Russian (ru) (continued)
32 |
33 | ```markdown
34 | - **JavaScript перенаправление:** Перенаправления, реализованные с использованием JavaScript, которые часто менее предпочтительны для SEO.
35 |
36 | ## Почему важно проверять перенаправления?
37 |
38 | - Обеспечить соблюдение правильных SEO-практик
39 | - Идентифицировать и исправлять цепочки перенаправлений, которые могут замедлять ваш сайт
40 | - Предотвратить циклы перенаправления, которые могут сделать страницы недоступными
41 | - Оптимизировать производительность сайта, сокращая ненужные перенаправления
42 | - Сохранять ценность ссылок при реструктуризации или миграции сайта
43 | - Проверить правильность реализации HTTPS перенаправлений
44 | - Убедиться, что перенаправленные страницы указывают на правильные адреса
45 |
46 | ## Как пользоваться нашим инструментом проверки перенаправлений
47 |
48 | 1. Введите ваш URL в поле ввода (не забудьте указать `http://` или `https://`).
49 | 2. Выберите пользовательского агента из выпадающего меню (опционально).
50 | 3. Нажмите кнопку "Проверить перенаправления".
51 | 4. Дождитесь завершения анализа вашего URL.
52 | 5. Просмотрите подробные результаты, которые включают:
53 | - Полную цепочку перенаправлений
54 | - HTTP-коды статуса для каждого шага
55 | - Промежуточные URL в процессе перенаправления
56 | - Финальный URL назначения
57 | - Общее количество перенаправлений в цепочке
58 |
59 | ## Влияние перенаправлений на SEO
60 |
61 | - **301 или 308 перенаправления** передают большую часть ценности ссылок на новый URL.
62 | - **302 или 307 перенаправления** менее идеальны для SEO, так как передают меньше ценности ссылок.
63 | - **303-перенаправления** менее эффективны для SEO, поскольку они предназначены для удобства пользователей и обработки форм.
64 | - Избегайте длинных цепочек перенаправлений, так как они могут снижать ценность SEO и замедлять время загрузки страниц.
65 | - Используйте перенаправления для консолидации дублирующегося контента, чтобы улучшить общее SEO сайта.
66 | - Правильно реализуйте HTTPS перенаправления, чтобы обеспечить безопасный просмотр без потери SEO-ценности.
67 | - Регулярно проверяйте ваши перенаправления, чтобы выявлять и устранять любые возникающие проблемы.
68 |
--------------------------------------------------------------------------------
/public/content/components/home/block1/es.md:
--------------------------------------------------------------------------------
1 | ## Características Clave
2 |
3 | - Verificación masiva de redirecciones para múltiples URL
4 | - Análisis detallado de la ruta de redirección
5 | - Soporte para redirecciones HTTPS
6 | - Selección de user-agent personalizada
7 | - Evaluación del impacto en SEO
8 | - Detección de bucles de redirección
9 | - Análisis de redirecciones 301, 302, 303, 307 y 308
10 | - Verificación de redirecciones Meta Refresh y JavaScript
11 | - Análisis de encabezados HTTP (Código de Estado, X-Robots-Tag, Rel Canonical)
12 |
13 | ## Comprendiendo las Redirecciones
14 |
15 | ### ¿Qué son las Redirecciones de URL?
16 |
17 | Las redirecciones de URL son una manera de enviar a los usuarios y motores de búsqueda de una URL a otra. Son cruciales para:
18 |
19 | - Mantener el SEO durante las migraciones de sitio
20 | - Gestionar páginas eliminadas o movidas
21 | - Mejorar la experiencia del usuario
22 | - Consolidar múltiples propiedades web
23 | - Rastrear la efectividad de campañas de marketing
24 |
25 | ### Tipos de Redirecciones
26 |
27 | - **Redirección 301 o 308 (Permanente):** Indica que una página se ha movido permanentemente a una nueva ubicación.
28 | - **Redirección 302 o 307 (Temporal):** Sugiere que una página está temporalmente ubicada en una URL diferente.
29 | - **Redirección 303 (ver otros):** Debe usarse para redirigir a los usuarios a una URL diferente después de una acción, pero a veces se usa en lugar de un tipo más apropiado.
30 | - **Meta Refresh:** Un tipo de redirección implementado a nivel HTML en lugar de a nivel del servidor.
31 | - **Redirección JavaScript:** Redirecciones implementadas usando JavaScript, a menudo menos favorables para SEO.
32 |
33 | ## ¿Por Qué Revisar Tus Redirecciones?
34 |
35 | - Asegúrate de que se están siguiendo las prácticas adecuadas de SEO
36 | - Identifica y corrige cadenas de redirección que pueden ralentizar tu sitio
37 | - Prevén bucles de redirección que pueden hacer que las páginas sean inaccesibles
38 | - Optimiza el rendimiento del sitio reduciendo redirecciones innecesarias
39 | - Mantén el valor del enlace durante la reestructuración o migración del sitio
40 | - Verifica que las redirecciones HTTPS estén implementadas correctamente
41 | - Asegúrate de que las páginas redirigidas apunten a los destinos correctos
42 |
43 | ## Cómo Usar Nuestro Verificador de Redirecciones
44 |
45 | 1. Ingresa tu URL en el campo de entrada (no olvides incluir `http://` o `https://`).
46 | 2. Selecciona un user-agent del menú desplegable (opcional).
47 | 3. Haz clic en el botón "Revisar Redirecciones".
48 | 4. Espera a que la herramienta analice tu URL.
49 | 5. Revisa los resultados detallados, que incluyen:
50 | - Cadena completa de redirecciones
51 | - Códigos de estado HTTP para cada paso
52 | - URLs intermedias en el proceso de redirección
53 | - URL de destino final
54 | - Número total de redirecciones en la cadena
55 |
56 | ## Implicaciones SEO de las Redirecciones
57 |
58 | - **Redirecciones 301 o 308** transfieren la mayor parte del valor del enlace a la nueva URL.
59 | - **Redirecciones 302 o 307** son menos ideales para SEO ya que no transfieren tanto valor del enlace.
60 | - **Redirecciones 303** tienen menos impacto para el SEO, ya que están diseñadas para la experiencia del usuario y el manejo de formularios.
61 | - Evita largas cadenas de redirección, ya que pueden diluir el valor SEO y ralentizar los tiempos de carga de las páginas.
62 | - Usa redirecciones para consolidar contenido duplicado, mejorando el SEO general de tu sitio.
63 | - Implementa redirecciones HTTPS correctamente para asegurar una navegación segura sin perder valor SEO.
64 | - Audita regularmente tus redirecciones para detectar y solucionar cualquier problema que pueda surgir con el tiempo.
65 |
--------------------------------------------------------------------------------
/src/components/ui/typography.tsx:
--------------------------------------------------------------------------------
1 | import { HTMLAttributes } from 'react';
2 |
3 | const classNames ={
4 | h1: "scroll-m-20 text-2xl font-extrabold tracking-tight lg:text-3xl",
5 | h2: "scroll-m-20 pb-2 text-2xl font-semibold tracking-tight first:mt-0",
6 | h3: "scroll-m-20 text-xl font-semibold tracking-tight",
7 | h4: "scroll-m-20 text-base font-semibold tracking-tight",
8 | p: "leading-7 [&:not(:first-child)]:mt-6",
9 | blockquote: "mt-6 border-l-2 pl-6 italic",
10 | ul: "my-6 [&>li]:mt-2",
11 | ol: "my-6 [&>li]:mt-2",
12 | code: "relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold",
13 | lead: "text-xl text-muted-foreground",
14 | small: "text-sm font-medium leading-none",
15 | table:{
16 | root: "w-full",
17 | th: "border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right",
18 | tr: "m-0 border-t p-0 even:bg-muted",
19 | td: "border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right"
20 | }
21 | }
22 |
23 | export const TypographyH1 = ({ children, className, ...props }: HTMLAttributes & { children?: React.ReactNode }) => {
24 | return
;
59 | };
60 |
61 | export const TypographySmall = ({ children, className, ...props }: HTMLAttributes & { children?: React.ReactNode }) => {
62 | return {children};
63 | };
64 |
--------------------------------------------------------------------------------
/public/content/components/home/block1/fr.md:
--------------------------------------------------------------------------------
1 | ## Fonctionnalités principales
2 |
3 | - Vérification en masse des redirections pour plusieurs URLs
4 | - Analyse détaillée des chemins de redirection
5 | - Support des redirections HTTPS
6 | - Sélection personnalisée de l'agent utilisateur
7 | - Évaluation de l'impact SEO
8 | - Détection des boucles de redirection
9 | - Analyse des redirections 301, 302, 303, 307 et 308
10 | - Vérification des redirections Meta Refresh et JavaScript
11 | - Analyse des en-têtes HTTP (Code de statut, X-Robots-Tag, Rel Canonical)
12 |
13 | ## Comprendre les Redirections
14 |
15 | ### Qu'est-ce que les Redirections d'URL ?
16 |
17 | Les redirections d'URL permettent d'envoyer les utilisateurs et les moteurs de recherche d'une URL à une autre. Elles sont cruciales pour :
18 |
19 | - Maintenir le SEO lors des migrations de site
20 | - Gérer les pages supprimées ou déplacées
21 | - Améliorer l'expérience utilisateur
22 | - Consolider plusieurs propriétés web
23 | - Suivre l'efficacité des campagnes marketing
24 |
25 | ### Types de Redirections
26 |
27 | - **Redirection 301 ou 308 (Permanente) :** Indique qu'une page a été déplacée définitivement à un nouvel emplacement.
28 | - **Redirection 302 ou 307 (Temporaire) :** Suggère qu'une page est temporairement située à une autre URL.
29 | - **Redirection 303 (voir Autre) :** doit être utilisé pour rediriger les utilisateurs vers une URL différente après une action, mais est parfois utilisé à la place d'un type plus approprié.
30 | - **Meta Refresh :** Un type de redirection mis en œuvre au niveau HTML plutôt qu'au niveau serveur.
31 | - **Redirection JavaScript :** Redirections mises en œuvre à l'aide de JavaScript, souvent moins favorables pour le SEO.
32 |
33 | ## Pourquoi Vérifier Vos Redirections ?
34 |
35 | - Assurer que les pratiques SEO sont correctement suivies
36 | - Identifier et corriger les chaînes de redirection qui peuvent ralentir votre site
37 | - Prévenir les boucles de redirection qui peuvent rendre les pages inaccessibles
38 | - Optimiser les performances du site en réduisant les redirections inutiles
39 | - Maintenir le capital de lien pendant la restructuration ou la migration du site
40 | - Vérifier que les redirections HTTPS sont correctement mises en œuvre
41 | - Assurer que les pages redirigées pointent vers les bonnes destinations
42 |
43 | ## Comment Utiliser Notre Outil de Vérification des Redirections
44 |
45 | 1. Entrez votre URL dans le champ de saisie (n'oubliez pas d'inclure `http://` ou `https://`).
46 | 2. Sélectionnez un agent utilisateur dans le menu déroulant (optionnel).
47 | 3. Cliquez sur le bouton "Vérifier les redirections".
48 | 4. Attendez que l'outil analyse votre URL.
49 | 5. Examinez les résultats détaillés, y compris :
50 | - La chaîne de redirection complète
51 | - Les codes de statut HTTP pour chaque étape
52 | - Les URL intermédiaires dans le processus de redirection
53 | - L'URL de destination finale
54 | - Le nombre total de redirections dans la chaîne
55 |
56 | ## Implications SEO des Redirections
57 |
58 | - **Les redirections 301 ou 308** transmettent la plupart de l'équité des liens vers la nouvelle URL.
59 | - **Les redirections 302 ou 307** sont moins idéales pour le SEO car elles ne transmettent pas autant d'équité des liens.
60 | - **Les redirections 303** ont moins d'impact sur le référencement car elles sont conçues pour l'expérience utilisateur et la gestion des formulaires.
61 | - Évitez les longues chaînes de redirections car elles peuvent diluer la valeur SEO et ralentir les temps de chargement des pages.
62 | - Utilisez les redirections pour consolider le contenu dupliqué, améliorant ainsi le SEO global de votre site.
63 | - Implémentez correctement les redirections HTTPS pour garantir une navigation sécurisée sans perdre de valeur SEO.
64 | - Auditez régulièrement vos redirections pour détecter et corriger tout problème pouvant survenir au fil du temps.
65 |
--------------------------------------------------------------------------------
/public/content/components/home/block1/pt.md:
--------------------------------------------------------------------------------
1 | ## Principais Recursos
2 |
3 | - Verificação em massa de redirecionamentos para várias URLs
4 | - Análise detalhada do caminho de redirecionamento
5 | - Suporte para redirecionamentos HTTPS
6 | - Seleção personalizada de agente de usuário
7 | - Avaliação de impacto no SEO
8 | - Detecção de loops de redirecionamento
9 | - Análise de redirecionamentos 301, 302, 303, 307 e 308
10 | - Verificação de meta refresh e redirecionamentos JavaScript
11 | - Análise de cabeçalhos HTTP (Código de Status, X-Robots-Tag, Rel Canonical)
12 |
13 | ## Compreendendo os Redirecionamentos
14 |
15 | ### O que são Redirecionamentos de URL?
16 |
17 | Redirecionamentos de URL são uma forma de enviar usuários e mecanismos de busca de uma URL para outra. Eles são cruciais para:
18 |
19 | - Manter o SEO durante migrações de sites
20 | - Gerenciar páginas excluídas ou movidas
21 | - Melhorar a experiência do usuário
22 | - Consolidar múltiplos ativos da web
23 | - Rastrear a eficácia das campanhas de marketing
24 |
25 | ### Tipos de Redirecionamentos
26 |
27 | - **Redirecionamento 301 ou 308 (Permanente):** Indica que uma página foi movida permanentemente para uma nova localização.
28 | - **Redirecionamento 302 ou 307 (Temporário):** Sugere que uma página está temporariamente localizada em um URL diferente.
29 | - **Redireccionamento 303 (ver outro):** Deve ser utilizado para redireccionar os utilizadores para um URL diferente após uma acção, mas por vezes é utilizado em vez de um tipo mais apropriado.
30 | - **Meta Refresh:** Um tipo de redirecionamento implementado no nível do HTML, em vez do nível do servidor.
31 | - **Redirecionamento JavaScript:** Redirecionamentos implementados com JavaScript, muitas vezes menos favoráveis para SEO.
32 |
33 | ## Por Que Verificar Seus Redirecionamentos?
34 |
35 | - Garantir que práticas de SEO adequadas estejam sendo seguidas
36 | - Identificar e corrigir cadeias de redirecionamento que podem desacelerar seu site
37 | - Evitar loops de redirecionamento que podem tornar páginas inacessíveis
38 | - Otimizar o desempenho do site reduzindo redirecionamentos desnecessários
39 | - Manter a equidade dos links durante reestruturações ou migrações de site
40 | - Verificar se os redirecionamentos HTTPS estão implementados corretamente
41 | - Garantir que as páginas redirecionadas estejam apontando para os destinos corretos
42 |
43 | ## Como Usar Nossa Ferramenta de Verificação de Redirecionamento
44 |
45 | 1. Insira sua URL no campo de entrada (não se esqueça de incluir `http://` ou `https://`).
46 | 2. Selecione um agente de usuário no menu suspenso (opcional).
47 | 3. Clique no botão "Verificar Redirecionamentos".
48 | 4. Aguarde o tempo necessário para a ferramenta analisar sua URL.
49 | 5. Revise os resultados detalhados, que incluem:
50 | - Cadeia completa de redirecionamento
51 | - Códigos de status HTTP para cada etapa
52 | - URLs intermediárias no processo de redirecionamento
53 | - URL de destino final
54 | - Número total de redirecionamentos na cadeia
55 |
56 | ## Implicações dos Redirecionamentos para SEO
57 |
58 | - **Redirecionamentos 301 ou 308** transmitem a maior parte da equidade de links para a nova URL.
59 | - **Redirecionamentos 302 ou 307** são menos ideais para SEO, pois transmitem menos equidade de links.
60 | - **Redirecionamentos 303** têm menos impacto para o SEO, uma vez que são concebidos para a experiência do utilizador e manipulação de formulários.
61 | - Evite cadeias longas de redirecionamento, pois elas podem diluir o valor SEO e desacelerar os tempos de carregamento das páginas.
62 | - Use redirecionamentos para consolidar conteúdo duplicado, melhorando o SEO geral do seu site.
63 | - Implemente redirecionamentos HTTPS corretamente para garantir uma navegação segura sem perder valor de SEO.
64 | - Realize auditorias regulares dos seus redirecionamentos para identificar e corrigir quaisquer problemas que possam surgir com o tempo.
65 |
--------------------------------------------------------------------------------
/wrangler.toml:
--------------------------------------------------------------------------------
1 | #:schema node_modules/wrangler/config-schema.json
2 | name = "redirectchecker"
3 | compatibility_date = "2023-05-18"
4 | compatibility_flags = ["nodejs_compat"]
5 | pages_build_output_dir = ".vercel/output/static"
6 |
7 | # Automatically place your workloads in an optimal location to minimize latency.
8 | # If you are running back-end logic in a Pages Function, running it closer to your back-end infrastructure
9 | # rather than the end user may result in better performance.
10 | # Docs: https://developers.cloudflare.com/pages/functions/smart-placement/#smart-placement
11 | # [placement]
12 | # mode = "smart"
13 |
14 | # Variable bindings. These are arbitrary, plaintext strings (similar to environment variables)
15 | # Docs:
16 | # - https://developers.cloudflare.com/pages/functions/bindings/#environment-variables
17 | # Note: Use secrets to store sensitive data.
18 | # - https://developers.cloudflare.com/pages/functions/bindings/#secrets
19 | # [vars]
20 | # MY_VARIABLE = "production_value"
21 |
22 | # Bind the Workers AI model catalog. Run machine learning models, powered by serverless GPUs, on Cloudflare’s global network
23 | # Docs: https://developers.cloudflare.com/pages/functions/bindings/#workers-ai
24 | # [ai]
25 | # binding = "AI"
26 |
27 | # Bind a D1 database. D1 is Cloudflare’s native serverless SQL database.
28 | # Docs: https://developers.cloudflare.com/pages/functions/bindings/#d1-databases
29 | # [[d1_databases]]
30 | # binding = "MY_DB"
31 | # database_name = "my-database"
32 | # database_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
33 |
34 | # Bind a Durable Object. Durable objects are a scale-to-zero compute primitive based on the actor model.
35 | # Durable Objects can live for as long as needed. Use these when you need a long-running "server", such as in realtime apps.
36 | # Docs: https://developers.cloudflare.com/workers/runtime-apis/durable-objects
37 | # [[durable_objects.bindings]]
38 | # name = "MY_DURABLE_OBJECT"
39 | # class_name = "MyDurableObject"
40 | # script_name = 'my-durable-object'
41 |
42 | # Bind a KV Namespace. Use KV as persistent storage for small key-value pairs.
43 | # Docs: https://developers.cloudflare.com/pages/functions/bindings/#kv-namespaces
44 | # KV Example:
45 | # [[kv_namespaces]]
46 | # binding = "MY_KV_NAMESPACE"
47 | # id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
48 |
49 | # Bind a Queue producer. Use this binding to schedule an arbitrary task that may be processed later by a Queue consumer.
50 | # Docs: https://developers.cloudflare.com/pages/functions/bindings/#queue-producers
51 | # [[queues.producers]]
52 | # binding = "MY_QUEUE"
53 | # queue = "my-queue"
54 |
55 | # Bind an R2 Bucket. Use R2 to store arbitrarily large blobs of data, such as files.
56 | # Docs: https://developers.cloudflare.com/pages/functions/bindings/#r2-buckets
57 | # [[r2_buckets]]
58 | # binding = "MY_BUCKET"
59 | # bucket_name = "my-bucket"
60 |
61 | # Bind another Worker service. Use this binding to call another Worker without network overhead.
62 | # Docs: https://developers.cloudflare.com/pages/functions/bindings/#service-bindings
63 | # [[services]]
64 | # binding = "MY_SERVICE"
65 | # service = "my-service"
66 |
67 | # To use different bindings for preview and production environments, follow the examples below.
68 | # When using environment-specific overrides for bindings, ALL bindings must be specified on a per-environment basis.
69 | # Docs: https://developers.cloudflare.com/pages/functions/wrangler-configuration#environment-specific-overrides
70 |
71 | ######## PREVIEW environment config ########
72 |
73 | # [env.preview.vars]
74 | # API_KEY = "xyz789"
75 |
76 | # [[env.preview.kv_namespaces]]
77 | # binding = "MY_KV_NAMESPACE"
78 | # id = ""
79 |
80 | ######## PRODUCTION environment config ########
81 |
82 | # [env.production.vars]
83 | # API_KEY = "abc123"
84 |
85 | # [[env.production.kv_namespaces]]
86 | # binding = "MY_KV_NAMESPACE"
87 | # id = ""
88 |
--------------------------------------------------------------------------------
/public/content/components/home/block1/de_DE.md:
--------------------------------------------------------------------------------
1 | ## Hauptmerkmale
2 |
3 | - Massenprüfung von Weiterleitungen für mehrere URLs
4 | - Detaillierte Analyse der Weiterleitungskette
5 | - Unterstützung für HTTPS-Weiterleitungen
6 | - Benutzerdefinierte Auswahl des User-Agents
7 | - Bewertung der SEO-Auswirkungen
8 | - Erkennung von Weiterleitungsschleifen
9 | - Analyse von 301-, 302-, 303-, 307- und 308-Weiterleitungen
10 | - Überprüfung von Meta-Refresh- und JavaScript-Weiterleitungen
11 | - Analyse von HTTP-Headern (Statuscode, X-Robots-Tag, Rel Canonical)
12 |
13 | ## Verständnis von Weiterleitungen
14 |
15 | ### Was sind URL-Weiterleitungen?
16 |
17 | URL-Weiterleitungen sind eine Methode, um Benutzer und Suchmaschinen von einer URL zu einer anderen zu senden. Sie sind entscheidend für:
18 |
19 | - Beibehaltung des SEO während der Site-Migrationen
20 | - Verwaltung von gelöschten oder verschobenen Seiten
21 | - Verbesserung der Benutzererfahrung
22 | - Konsolidierung mehrerer Web-Eigenschaften
23 | - Verfolgung der Effektivität von Marketingkampagnen
24 |
25 | ### Arten von Weiterleitungen
26 |
27 | - **301- oder 308-Weiterleitung (Permanent):** Zeigt an, dass eine Seite dauerhaft an einen neuen Ort verschoben wurde.
28 | - **302- oder 307-Weiterleitung (Temporär):** Deutet darauf hin, dass eine Seite vorübergehend unter einer anderen URL zu finden ist.
29 | - **303-Weiterleitung (siehe Sonstiges):** Sollte verwendet werden, um Benutzer nach einer Aktion zu einer anderen URL weiterzuleiten, wird aber manchmal anstelle eines geeigneteren Typs verwendet.
30 | - **Meta Refresh:** Eine Art von Weiterleitung, die auf HTML-Ebene statt auf Server-Ebene implementiert wird.
31 | - **JavaScript-Weiterleitung:** Weiterleitungen, die mit JavaScript implementiert sind, oft weniger vorteilhaft für SEO.
32 |
33 | ## Warum Ihre Weiterleitungen überprüfen?
34 |
35 | - Sicherstellen, dass SEO-Praktiken korrekt befolgt werden
36 | - Weiterleitungsketten identifizieren und beheben, die Ihre Website verlangsamen können
37 | - Weiterleitungsschleifen verhindern, die Seiten unzugänglich machen können
38 | - Leistung der Website optimieren, indem unnötige Weiterleitungen reduziert werden
39 | - Link-Eigenkapital während der Umstrukturierung oder Migration der Website erhalten
40 | - Überprüfen, ob HTTPS-Weiterleitungen korrekt implementiert sind
41 | - Sicherstellen, dass weitergeleitete Seiten auf die richtigen Ziele verweisen
42 |
43 | ## So verwenden Sie unser Weiterleitungsprüfwerkzeug
44 |
45 | 1. Geben Sie Ihre URL in das Eingabefeld ein (vergessen Sie nicht, `http://` oder `https://` einzuschließen).
46 | 2. Wählen Sie einen User-Agent aus dem Dropdown-Menü (optional).
47 | 3. Klicken Sie auf die Schaltfläche "Weiterleitungen prüfen".
48 | 4. Warten Sie, bis das Tool Ihre URL analysiert hat.
49 | 5. Überprüfen Sie die detaillierten Ergebnisse, einschließlich:
50 | - Vollständige Weiterleitungskette
51 | - HTTP-Statuscodes für jeden Schritt
52 | - Zwischen-URLs im Weiterleitungsprozess
53 | - Endgültige Ziel-URL
54 | - Gesamtanzahl der Weiterleitungen in der Kette
55 |
56 | ## SEO-Auswirkungen von Weiterleitungen
57 |
58 | - **301- oder 308-Weiterleitungen** übertragen den Großteil des Linkwerts auf die neue URL.
59 | - **302- oder 307-Weiterleitungen** sind weniger ideal für SEO, da sie nicht so viel Linkwert übertragen.
60 | - **303-Weiterleitungen** haben weniger Auswirkungen auf die SEO, da sie auf die Benutzererfahrung und die Formularverwaltung ausgelegt sind.
61 | - Vermeiden Sie lange Weiterleitungsketten, da sie den SEO-Wert verwässern und die Ladezeiten der Seite verlangsamen können.
62 | - Verwenden Sie Weiterleitungen, um doppelte Inhalte zu konsolidieren und das allgemeine SEO Ihrer Website zu verbessern.
63 | - Implementieren Sie HTTPS-Weiterleitungen korrekt, um sicheres Browsen zu gewährleisten, ohne den SEO-Wert zu verlieren.
64 | - Überprüfen Sie regelmäßig Ihre Weiterleitungen, um Probleme zu erkennen und zu beheben, die im Laufe der Zeit auftreten können.
65 |
--------------------------------------------------------------------------------
/public/content/components/home/block1/it.md:
--------------------------------------------------------------------------------
1 | ## Caratteristiche principali
2 |
3 | - Controllo delle reindirizzamenti in massa per più URL
4 | - Analisi dettagliata dei percorsi di reindirizzamento
5 | - Supporto per i reindirizzamenti HTTPS
6 | - Selezione personalizzata dell'agente utente
7 | - Valutazione dell'impatto SEO
8 | - Rilevamento dei cicli di reindirizzamento
9 | - Analisi dei reindirizzamenti 301, 302, 303, 307 e 308
10 | - Controllo dei reindirizzamenti Meta Refresh e JavaScript
11 | - Analisi delle intestazioni HTTP (Codice di stato, X-Robots-Tag, Rel Canonical)
12 |
13 | ## Comprendere i Reindirizzamenti
14 |
15 | ### Cosa sono i Reindirizzamenti URL?
16 |
17 | I reindirizzamenti URL consentono di indirizzare gli utenti e i motori di ricerca da un URL a un altro. Sono cruciali per:
18 |
19 | - Mantenere il SEO durante le migrazioni del sito
20 | - Gestire pagine eliminate o spostate
21 | - Migliorare l'esperienza dell'utente
22 | - Consolidare più proprietà web
23 | - Monitorare l'efficacia delle campagne di marketing
24 |
25 | ### Tipi di Reindirizzamenti
26 |
27 | - **Reindirizzamento 301 o 308 (Permanente):** Indica che una pagina è stata spostata permanentemente a una nuova posizione.
28 | - **Reindirizzamento 302 o 307 (Temporaneo):** Suggerisce che una pagina è temporaneamente situata a un altro URL.
29 | - **Reindirizzamento 303 (vedere altro):** Dovrebbe essere utilizzato per reindirizzare gli utenti a un URL diverso dopo un'azione, ma a volte viene utilizzato al posto di un tipo più appropriato.
30 | - **Meta Refresh:** Un tipo di reindirizzamento implementato a livello HTML piuttosto che a livello server.
31 | - **Reindirizzamento JavaScript:** Reindirizzamenti implementati utilizzando JavaScript, spesso meno favorevoli per il SEO.
32 |
33 | ## Perché Controllare i Tuoi Reindirizzamenti?
34 |
35 | - Assicurati che le pratiche SEO siano seguite correttamente
36 | - Identifica e correggi le catene di reindirizzamento che possono rallentare il tuo sito
37 | - Prevenire i cicli di reindirizzamento che possono rendere le pagine inaccessibili
38 | - Ottimizza le prestazioni del sito riducendo i reindirizzamenti non necessari
39 | - Mantieni l'equità dei link durante la ristrutturazione o la migrazione del sito
40 | - Verifica che i reindirizzamenti HTTPS siano implementati correttamente
41 | - Assicurati che le pagine reindirizzate puntino alle destinazioni corrette
42 |
43 | ## Come Utilizzare il Nostro Controllo dei Reindirizzamenti
44 |
45 | 1. Inserisci il tuo URL nel campo di input (non dimenticare di includere `http://` o `https://`).
46 | 2. Seleziona un agente utente dal menu a discesa (opzionale).
47 | 3. Fai clic sul pulsante "Controlla Reindirizzamenti".
48 | 4. Attendi che lo strumento analizzi il tuo URL.
49 | 5. Esamina i risultati dettagliati, inclusi:
50 | - La catena di reindirizzamento completa
51 | - I codici di stato HTTP per ciascun passaggio
52 | - Gli URL intermedi nel processo di reindirizzamento
53 | - L'URL di destinazione finale
54 | - Il numero totale di reindirizzamenti nella catena
55 |
56 | ## Implicazioni SEO dei Reindirizzamenti
57 |
58 | - **I reindirizzamenti 301 o 308** trasferiscono la maggior parte del valore dei link al nuovo URL.
59 | - **I reindirizzamenti 302 o 307** sono meno ideali per il SEO in quanto non trasferiscono tanto valore dei link.
60 | - **I reindirizzamenti 303** hanno un impatto minore sulla SEO in quanto sono progettati per migliorare l'esperienza utente e la gestione dei moduli.
61 | - Evita lunghe catene di reindirizzamenti poiché possono diluire il valore SEO e rallentare i tempi di caricamento delle pagine.
62 | - Utilizza i reindirizzamenti per consolidare contenuti duplicati, migliorando così il SEO complessivo del tuo sito.
63 | - Implementa correttamente i reindirizzamenti HTTPS per garantire una navigazione sicura senza perdere valore SEO.
64 | - Esegui regolarmente audit sui tuoi reindirizzamenti per rilevare e correggere eventuali problemi che possono sorgere nel tempo.
65 |
--------------------------------------------------------------------------------
/src/components/ui/sheet.tsx:
--------------------------------------------------------------------------------
1 | import * as React from "react"
2 | import * as SheetPrimitive from "@radix-ui/react-dialog"
3 | import { cva, type VariantProps } from "class-variance-authority"
4 | import { X } from "lucide-react"
5 |
6 | import { cn } from "@/lib/utils"
7 |
8 | const Sheet = SheetPrimitive.Root
9 |
10 | const SheetTrigger = SheetPrimitive.Trigger
11 |
12 | const SheetClose = SheetPrimitive.Close
13 |
14 | const SheetPortal = SheetPrimitive.Portal
15 |
16 | const SheetOverlay = React.forwardRef<
17 | React.ElementRef,
18 | React.ComponentPropsWithoutRef
19 | >(({ className, ...props }, ref) => (
20 |
28 | ))
29 | SheetOverlay.displayName = SheetPrimitive.Overlay.displayName
30 |
31 | const sheetVariants = cva(
32 | "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
33 | {
34 | variants: {
35 | side: {
36 | top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
37 | bottom:
38 | "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
39 | left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
40 | right:
41 | "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",
42 | },
43 | },
44 | defaultVariants: {
45 | side: "right",
46 | },
47 | }
48 | )
49 |
50 | interface SheetContentProps
51 | extends React.ComponentPropsWithoutRef,
52 | VariantProps {}
53 |
54 | const SheetContent = React.forwardRef<
55 | React.ElementRef,
56 | SheetContentProps
57 | >(({ side = "right", className, children, ...props }, ref) => (
58 |
59 |
60 |
65 | {children}
66 |
67 |
68 | Close
69 |
70 |
71 |
72 | ))
73 | SheetContent.displayName = SheetPrimitive.Content.displayName
74 |
75 | const SheetHeader = ({
76 | className,
77 | ...props
78 | }: React.HTMLAttributes) => (
79 |
86 | )
87 | SheetHeader.displayName = "SheetHeader"
88 |
89 | const SheetFooter = ({
90 | className,
91 | ...props
92 | }: React.HTMLAttributes) => (
93 |
100 | )
101 | SheetFooter.displayName = "SheetFooter"
102 |
103 | const SheetTitle = React.forwardRef<
104 | React.ElementRef,
105 | React.ComponentPropsWithoutRef
106 | >(({ className, ...props }, ref) => (
107 |
112 | ))
113 | SheetTitle.displayName = SheetPrimitive.Title.displayName
114 |
115 | const SheetDescription = React.forwardRef<
116 | React.ElementRef,
117 | React.ComponentPropsWithoutRef
118 | >(({ className, ...props }, ref) => (
119 |
124 | ))
125 | SheetDescription.displayName = SheetPrimitive.Description.displayName
126 |
127 | export {
128 | Sheet,
129 | SheetPortal,
130 | SheetOverlay,
131 | SheetTrigger,
132 | SheetClose,
133 | SheetContent,
134 | SheetHeader,
135 | SheetFooter,
136 | SheetTitle,
137 | SheetDescription,
138 | }
139 |
--------------------------------------------------------------------------------
/src/components/ui/form.tsx:
--------------------------------------------------------------------------------
1 | "use client"
2 |
3 | import * as LabelPrimitive from "@radix-ui/react-label"
4 | import { Slot } from "@radix-ui/react-slot"
5 | import * as React from "react"
6 | import {
7 | Controller,
8 | ControllerProps,
9 | FieldPath,
10 | FieldValues,
11 | FormProvider,
12 | useFormContext,
13 | } from "react-hook-form"
14 |
15 | import { Label } from "@/components/ui/label"
16 | import { cn } from "@/lib/utils"
17 |
18 | const Form = FormProvider
19 |
20 | type FormFieldContextValue<
21 | TFieldValues extends FieldValues = FieldValues,
22 | TName extends FieldPath = FieldPath
23 | > = {
24 | name: TName
25 | }
26 |
27 | const FormFieldContext = React.createContext(
28 | {} as FormFieldContextValue
29 | )
30 |
31 | const FormField = <
32 | TFieldValues extends FieldValues = FieldValues,
33 | TName extends FieldPath = FieldPath
34 | >({
35 | ...props
36 | }: ControllerProps) => {
37 | return (
38 |
39 |
40 |
41 | )
42 | }
43 |
44 | const useFormField = () => {
45 | const fieldContext = React.useContext(FormFieldContext)
46 | const itemContext = React.useContext(FormItemContext)
47 | const { getFieldState, formState } = useFormContext()
48 |
49 | const fieldState = getFieldState(fieldContext.name, formState)
50 |
51 | if (!fieldContext) {
52 | throw new Error("useFormField should be used within ")
53 | }
54 |
55 | const { id } = itemContext
56 |
57 | return {
58 | id,
59 | name: fieldContext.name,
60 | formItemId: `${id}-form-item`,
61 | formDescriptionId: `${id}-form-item-description`,
62 | formMessageId: `${id}-form-item-message`,
63 | ...fieldState,
64 | }
65 | }
66 |
67 | type FormItemContextValue = {
68 | id: string
69 | }
70 |
71 | const FormItemContext = React.createContext(
72 | {} as FormItemContextValue
73 | )
74 |
75 | const FormItem = React.forwardRef<
76 | HTMLDivElement,
77 | React.HTMLAttributes& { nospace?: boolean; }
78 | >(({ nospace = false, className, ...props }, ref) => {
79 | const id = React.useId()
80 |
81 | return (
82 |
83 |
84 |
85 | )
86 | })
87 | FormItem.displayName = "FormItem"
88 |
89 | const FormLabel = React.forwardRef<
90 | React.ElementRef,
91 | React.ComponentPropsWithoutRef
92 | >(({ className, ...props }, ref) => {
93 | const { error, formItemId } = useFormField()
94 |
95 | return (
96 |
102 | )
103 | })
104 | FormLabel.displayName = "FormLabel"
105 |
106 | const FormControl = React.forwardRef<
107 | React.ElementRef,
108 | React.ComponentPropsWithoutRef
109 | >(({ ...props }, ref) => {
110 | const { error, formItemId, formDescriptionId, formMessageId } = useFormField()
111 |
112 | return (
113 |
124 | )
125 | })
126 | FormControl.displayName = "FormControl"
127 |
128 | const FormDescription = React.forwardRef<
129 | HTMLParagraphElement,
130 | React.HTMLAttributes
131 | >(({ className, ...props }, ref) => {
132 | const { formDescriptionId } = useFormField()
133 |
134 | return (
135 |
141 | )
142 | })
143 | FormDescription.displayName = "FormDescription"
144 |
145 | const FormMessage = React.forwardRef<
146 | HTMLParagraphElement,
147 | React.HTMLAttributes
148 | >(({ className, children, ...props }, ref) => {
149 | const { error, formMessageId } = useFormField()
150 | const body = error ? String(error?.message) : children
151 |
152 | if (!body) {
153 | return null
154 | }
155 |
156 | return (
157 |