|
|
@@ -98,10 +98,95 @@ export class SitemapParser {
|
|
|
terms: SitemapUrl[];
|
|
|
faq: SitemapUrl[];
|
|
|
} {
|
|
|
- const shippingKeywords = ['shipping', 'delivery', 'szallitas', 'kiszallitas'];
|
|
|
- const contactKeywords = ['contact', 'kapcsolat', 'elerheto'];
|
|
|
- const termsKeywords = ['terms', 'conditions', 'aszf', 'feltetel', 'privacy', 'policy'];
|
|
|
- const faqKeywords = ['faq', 'gyakori', 'kerdes', 'questions'];
|
|
|
+ const shippingKeywords = [
|
|
|
+ // English terms
|
|
|
+ 'shipping', 'delivery', 'ship', 'deliver', 'postage', 'courier',
|
|
|
+ 'logistics', 'transport', 'freight', 'dispatch', 'fulfillment',
|
|
|
+ 'shipping-info', 'delivery-info', 'shipping-policy', 'delivery-policy',
|
|
|
+ 'how-we-ship', 'shipping-rates', 'delivery-rates', 'shipping-cost',
|
|
|
+ 'delivery-cost', 'shipping-method', 'delivery-method', 'shipping-options',
|
|
|
+ 'delivery-options', 'express-delivery', 'overnight-shipping', 'fast-shipping',
|
|
|
+ 'international-shipping', 'domestic-shipping', 'free-shipping', 'next-day',
|
|
|
+
|
|
|
+ // Hungarian terms
|
|
|
+ 'szallitas', 'kiszallitas', 'szallitasi', 'kiszallitasi', 'fuvar', 'fuvarozas',
|
|
|
+ 'szallitasi-informacio', 'szallitasi-feltetelek', 'szallitasi-mod', 'szallitasi-dij',
|
|
|
+ 'szallitasi-dijak', 'szallitasi-modok', 'szallitasi-ido', 'szallitasi-hatarido',
|
|
|
+ 'futarszolgalat', 'futarszallitas', 'hazhozszallitas', 'ingyenes-szallitas',
|
|
|
+ 'expressz-szallitas', 'gyors-szallitas', 'nemzetkozi-szallitas', 'hazai-szallitas',
|
|
|
+ 'postai-szallitas', 'csomagpont', 'csomagautomata', 'pickup-pont'
|
|
|
+ ];
|
|
|
+
|
|
|
+ const contactKeywords = [
|
|
|
+ // English terms
|
|
|
+ 'contact', 'contact-us', 'contact-info', 'contact-page', 'get-in-touch',
|
|
|
+ 'reach-us', 'find-us', 'locate-us', 'visit-us', 'where-to-find-us',
|
|
|
+ 'about', 'about-us', 'about-company', 'who-we-are', 'our-story',
|
|
|
+ 'company-info', 'business-info', 'team', 'our-team', 'meet-the-team',
|
|
|
+ 'email', 'phone', 'telephone', 'address', 'location', 'directions',
|
|
|
+ 'office', 'store-location', 'headquarters', 'branch', 'outlet',
|
|
|
+ 'customer-service', 'customer-support', 'support', 'help-center',
|
|
|
+ 'impressum', 'imprint', 'legal-notice', 'company-details',
|
|
|
+
|
|
|
+ // Hungarian terms
|
|
|
+ 'kapcsolat', 'kapcsolatfelvetel', 'elerhetoseg', 'elerheto', 'kontakt',
|
|
|
+ 'kapcsolatok', 'kapcsolat-felvetel', 'elerhetosegek', 'megkozelites',
|
|
|
+ 'rolunk', 'magunkrol', 'cegunkrol', 'tortenelem', 'cegtortenet',
|
|
|
+ 'bemutatkozas', 'csapat', 'csapatunk', 'munkatarsak', 'kollektiva',
|
|
|
+ 'telefon', 'telefonszam', 'email', 'e-mail', 'cim', 'lakcim', 'szekhely',
|
|
|
+ 'iroda', 'uzlet', 'bolt', 'telephelyunk', 'fiokunk', 'kepviselet',
|
|
|
+ 'ugyfelszolgalat', 'vevoszolgalat', 'segitseg', 'tamogatas', 'support',
|
|
|
+ 'impresszum', 'jogi-nyilatkozat', 'cegadatok', 'vallalkozasi-adatok'
|
|
|
+ ];
|
|
|
+
|
|
|
+ const termsKeywords = [
|
|
|
+ // English terms
|
|
|
+ 'terms', 'conditions', 'terms-and-conditions', 'terms-of-service', 'terms-of-use',
|
|
|
+ 'tos', 'toc', 'tc', 'user-agreement', 'user-terms', 'service-terms',
|
|
|
+ 'privacy', 'privacy-policy', 'privacy-notice', 'privacy-statement',
|
|
|
+ 'data-protection', 'data-policy', 'cookie-policy', 'cookies',
|
|
|
+ 'legal', 'legal-notice', 'legal-info', 'legal-disclaimer', 'disclaimer',
|
|
|
+ 'refund', 'refund-policy', 'return-policy', 'returns', 'exchange-policy',
|
|
|
+ 'warranty', 'guarantee', 'liability', 'limitation-of-liability',
|
|
|
+ 'copyright', 'intellectual-property', 'trademark', 'rights',
|
|
|
+ 'gdpr', 'ccpa', 'compliance', 'regulations', 'rules',
|
|
|
+
|
|
|
+ // Hungarian terms
|
|
|
+ 'aszf', 'altalanos-szerzodesi-feltetelek', 'feltetel', 'feltetelek',
|
|
|
+ 'felhasznalasi-feltetelek', 'szolgaltatas-feltetel', 'hasznalati-feltetelek',
|
|
|
+ 'vasarlasi-feltetelek', 'szerzodesi-feltetelek', 'szabalyzat',
|
|
|
+ 'adatvedelm', 'adatkezeles', 'adatvedelmi-tajekoztato', 'adatkezelesi-tajekoztato',
|
|
|
+ 'adatkezeles-szabalyzat', 'adatbiztonsag', 'cookie-szabalyzat', 'sutik',
|
|
|
+ 'jogi-nyilatkozat', 'jogtud', 'jogi-informacio', 'jogi-tudnivalo',
|
|
|
+ 'felelosseg', 'felelosseg-korlatozas', 'garancia', 'jotallas',
|
|
|
+ 'visszaterites', 'visszavételar', 'cserepolitika', 'reklamacio',
|
|
|
+ 'szerzoi-jog', 'vedjegy', 'jogok', 'impresszum', 'impressum',
|
|
|
+ 'gdpr', 'adatvedelmi-rendelet', 'megfeleloseg', 'jogszabaly'
|
|
|
+ ];
|
|
|
+
|
|
|
+ const faqKeywords = [
|
|
|
+ // English terms
|
|
|
+ 'faq', 'frequently-asked-questions', 'frequently-asked', 'f-a-q',
|
|
|
+ 'questions', 'common-questions', 'popular-questions', 'most-asked',
|
|
|
+ 'help', 'help-center', 'help-desk', 'helpdesk', 'help-section',
|
|
|
+ 'support', 'customer-support', 'tech-support', 'user-support',
|
|
|
+ 'knowledge', 'knowledge-base', 'knowledgebase', 'kb', 'wiki',
|
|
|
+ 'guide', 'guides', 'tutorial', 'tutorials', 'how-to', 'manual',
|
|
|
+ 'documentation', 'docs', 'user-guide', 'user-manual',
|
|
|
+ 'troubleshooting', 'problem', 'issue', 'solution', 'answers',
|
|
|
+ 'community', 'forum', 'discussion', 'q-and-a', 'q&a',
|
|
|
+
|
|
|
+ // Hungarian terms
|
|
|
+ 'gyik', 'gyakori-kerdesek', 'gyakori', 'kerdesek', 'kerdes',
|
|
|
+ 'gyakran-felmerulo', 'leggyakoribb-kerdesek', 'nepszeru-kerdesek',
|
|
|
+ 'kerdezz-felelek', 'kerdes-valasz', 'q-a', 'qa',
|
|
|
+ 'segitseg', 'segitsegkeres', 'segito-kozpont', 'tamogatas',
|
|
|
+ 'ugyfelszolgalat', 'vevoszolgalat', 'technikai-tamogatas',
|
|
|
+ 'tudnivalok', 'hasznos-informaciok', 'hasznos-tudnivalok', 'tudastAr',
|
|
|
+ 'utmutato', 'utmutatók', 'kezikonyv', 'manual', 'dokumentacio',
|
|
|
+ 'felhasznaloi-utmutato', 'hogyan', 'hibaelharitas', 'problema',
|
|
|
+ 'megoldas', 'valaszok', 'kozosseg', 'forum', 'megbeszeles'
|
|
|
+ ];
|
|
|
|
|
|
const containsKeyword = (url: string, keywords: string[]): boolean => {
|
|
|
const lowerUrl = url.toLowerCase();
|