Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Obiectul metadata – Configurarea etichetelor SEO statice în Next.js

Definește metadatele paginii (title, description, Open Graph, Twitter Cards, canonical) direct în fișierele layout.tsx sau page.tsx.

Sintaxă
import type { Metadata } from 'next';

export const metadata: Metadata = {
  title: 'Titlul Paginii | Dexblog',
  description: 'Ghid complet explicat în română.',
};

Ce face Obiectul metadata - Configurarea etichetelor SEO statice

Înlocuind vechiul component `` din Pages Router, App Router utilizează `Metadata API` bazat pe tipuri TypeScript stricte.

Puteți exporta o constantă metadata dintr-un fișier `layout.tsx` sau `page.tsx`.

Next.js va compila automat etichetele ``, `<meta name="description">` și tag-urile Open Graph adecvate în secțiunea `<head>` a documentului HTML generat pe server.</p> <h2>Exemple</h2> <h3>Exemplul 1: Configurarea completă a metadatelor SEO și Open Graph</h3> <p>Asigură afișarea corectă a titlului și a imaginii la distribuire socială.</p> <pre><code>import type { Metadata } from 'next'; export const metadata: Metadata = { title: 'Comenzi cURL explicate | dexblog.ro', description: 'Învață cele 50 de comenzi esențiale cURL pentru transfer de date și testat API-uri.', openGraph: { title: 'Comenzi cURL explicate', description: 'Ghid practic în limba română.', url: 'https://www.dexblog.ro/invata/curl/', siteName: 'dexblog.ro', locale: 'ro_RO', type: 'article', }, };</code></pre> <p><span class="invata-output-label">Ieșire în terminal</span></p> <pre class="invata-output"><code>Next.js injectează toate meta-tag-urile în secțiunea <head> a paginii.</code></pre> <h2>Greșeli frecvente</h2> <ul> <li>Exportarea obiectului metadata dintr-o Client Component (‘use client’); metadata API este suportat EXCLUSIV în Server Components.</li> </ul> <h2>Comenzi înrudite</h2> <ul> <li><a href="/invata/nextjs/nextjs-generate-metadata/" data-wpel-link="internal"><code>generateMetadata() - Generarea dinamică a metadatelor SEO</code></a>: Funcție asincronă care preia date specifice resursei curente și returnează metadate SEO dinamice per articol sau produs.</li> <li><a href="/invata/nextjs/nextjs-sitemap/" data-wpel-link="internal"><code>app/sitemap.ts - Generarea automată a fișierului sitemap.xml</code></a>: Generează dinamic sau static fișierul XML de hartă a site-ului direct la adresa /sitemap.xml.</li> <li><a href="/invata/nextjs/nextjs-robots/" data-wpel-link="internal"><code>app/robots.ts - Generarea fișierului robots.txt</code></a>: Configurează regulile de acces pentru roboții motoarelor de căutare la adresa /robots.txt.</li> </ul> </div> <nav class="invata-pager" aria-label="Comanda anterioară / Comanda următoare"> <a class="invata-pager-prev" href="https://www.dexblog.ro/invata/nextjs/nextjs-dynamic/"> <span>← Comanda anterioară</span> <code>next/dynamic – Încărcarea leneșă a componentelor grele (Lazy Loading)</code> </a> <a class="invata-pager-next" href="https://www.dexblog.ro/invata/nextjs/nextjs-generate-metadata/"> <span>Comanda următoare →</span> <code>generateMetadata() – Generarea dinamică a metadatelor SEO</code> </a> </nav> <div class="entry-comments invata-entry-comments"> <section id="comments" class="comments-area invata-comments-area" aria-label="Comunitate și Întrebări"> <!-- Antet Secțiune Comunitate --> <header class="invata-comments-header"> <div class="invata-comments-badge"> <span class="invata-comments-pulse"></span> <span>Comunitate & Schimb de cunoștințe</span> </div> <h2 class="invata-comments-title"> Întrebări & Exemple de Cod: <code>Obiectul metadata – Configurarea etichetelor SEO statice</code> </h2> <p class="invata-comments-lead"> Ai o nelămurire despre utilizarea comenzii <code>Obiectul metadata – Configurarea etichetelor SEO statice</code> sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori! </p> </header> <!-- Lista Contribuțiilor Existente --> <!-- Stare Când Nu Există Încă Contribuții --> <div class="invata-no-comments" id="invata-no-comments"> <div class="invata-no-comments-icon">💬</div> <h3>Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!</h3> <p> Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți. </p> </div> <!-- Formularul Interactiv de Contribuție --> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title invata-reply-title"><span class="invata-form-title-badge">Comunitate</span> <span class="invata-form-title-text">Adaugă o întrebare sau distribuie un cod</span> <small class="invata-cancel-reply"><a rel="nofollow" id="cancel-comment-reply-link" href="/invata/nextjs/nextjs-metadata/#respond" style="display:none;">Anulează răspunsul</a></small></h3><form action="https://www.dexblog.ro/wp-comments-post.php" method="post" id="commentform" class="comment-form invata-comment-form"> <!-- 1. Selector Tip Contribuție --> <div class="invata-mode-selector-wrap"> <label class="invata-mode-label">Alege ce dorești să transmiți:</label> <div class="invata-mode-selector" role="group" aria-label="Tip contribuție"> <button type="button" class="invata-mode-btn is-active" data-type="intrebare"> <svg viewBox="0 0 20 20" width="16" height="16" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"/></svg> <span>Pune o întrebare</span> </button> <button type="button" class="invata-mode-btn" data-type="cod"> <svg viewBox="0 0 20 20" width="16" height="16" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M12.316 3.051a1 1 0 01.633 1.265l-4 12a1 1 0 11-1.898-.632l4-12a1 1 0 011.265-.633zM5.707 6.293a1 1 0 010 1.414L2.414 11l3.293 3.293a1 1 0 11-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0zm8.586 0a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L17.586 11l-3.293-3.293a1 1 0 010-1.414z" clip-rule="evenodd"/></svg> <span>Distribuie cod / snippet</span> </button> <button type="button" class="invata-mode-btn" data-type="comentariu"> <svg viewBox="0 0 20 20" width="16" height="16" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M18 10c0 3.866-3.582 7-8 7a8.841 8.841 0 01-4.083-.98L2 17l1.338-3.123C2.493 12.767 2 11.434 2 10c0-3.866 3.582-7 8-7s8 3.134 8 7zM7 9H5v2h2V9zm8 0h-2v2h2V9zm-4 0H9v2h2V9z" clip-rule="evenodd"/></svg> <span>Comentariu general</span> </button> </div> <input type="hidden" name="invata_contribution_type" id="invata_contribution_type" value="intrebare" /> </div> <!-- 2. Titlu Scurt (Opțional) --> <div class="invata-form-field invata-field-title"> <label for="invata_snippet_title">Titlu scurt <span class="invata-optional">(opțional)</span></label> <input type="text" id="invata_snippet_title" name="invata_snippet_title" placeholder="ex: Cum folosim funcția cu parametri dinamici?" maxlength="180" /> </div> <!-- 3. Textul Întrebării sau Descrierea --> <div class="invata-form-field invata-field-comment"> <label for="comment" id="invata-comment-label">Întrebarea ta <span class="required">*</span></label> <textarea id="comment" name="comment" cols="45" rows="4" required placeholder="Descrie detaliat întrebarea ta sau problema întâmpinată..."></textarea> </div> <!-- 4. Zonă Dedicată pentru Fragment de Cod / Prompt --> <div class="invata-code-input-wrap" id="invata-code-input-wrap" hidden> <div class="invata-code-input-head"> <label for="invata_code_snippet"> <svg viewBox="0 0 20 20" width="15" height="15" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M12.316 3.051a1 1 0 01.633 1.265l-4 12a1 1 0 11-1.898-.632l4-12a1 1 0 011.265-.633zM5.707 6.293a1 1 0 010 1.414L2.414 11l3.293 3.293a1 1 0 11-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0zm8.586 0a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L17.586 11l-3.293-3.293a1 1 0 010-1.414z" clip-rule="evenodd"/></svg> <span>Fragment de cod (Snippet)</span> </label> <div class="invata-code-lang-picker"> <label for="invata_code_lang" class="screen-reader-text">Format / Limbaj</label> <select id="invata_code_lang" name="invata_code_lang"> <option value="php" selected='selected'> PHP </option> <option value="python" > Python </option> <option value="javascript" > JavaScript </option> <option value="typescript" > TypeScript </option> <option value="bash" > Bash / Shell </option> <option value="sql" > SQL (MySQL / Postgres) </option> <option value="html" > HTML </option> <option value="css" > CSS </option> <option value="docker" > Docker / Dockerfile </option> <option value="cpp" > C / C++ </option> <option value="csharp" > C# </option> <option value="java" > Java </option> <option value="go" > Go </option> <option value="rust" > Rust </option> <option value="kotlin" > Kotlin </option> <option value="swift" > Swift </option> <option value="json" > JSON </option> <option value="yaml" > YAML </option> <option value="markdown" > Markdown </option> <option value="text" > Text simplu </option> </select> </div> </div> <textarea id="invata_code_snippet" name="invata_code_snippet" rows="8" placeholder="// Lipește codul tău aici... // Poți adăuga și comentarii explicative" spellcheck="false" autocomplete="off"></textarea> <span class="invata-code-hint">💡 Codul va fi publicat cu evidențiere automată a sintaxei și buton de copiere pentru comunitate.</span> </div> <!-- Buton Alternativ pentru Afișare/Ascundere Cod --> <div class="invata-code-toggle-bar" id="invata-code-toggle-bar"> <button type="button" class="invata-toggle-code-btn" id="invata-toggle-code-btn"> <svg viewBox="0 0 20 20" width="15" height="15" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z" clip-rule="evenodd"/></svg> <span>+ Atașează un fragment de cod / prompt la mesaj</span> </button> </div> <!-- 5. Card Informare Moderare (Om sau AI) --> <div class="invata-moderation-card"> <div class="invata-moderation-card-icon"> <svg viewBox="0 0 24 24" width="22" height="22" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><path d="m9 12 2 2 4-4"/></svg> </div> <div class="invata-moderation-card-content"> <strong>Moderare & Siguranță:</strong> <p>Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.</p> </div> </div> <div class="invata-form-grid"><p class="comment-form-author invata-form-field"><label for="author">Nume sau Pseudonim <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" aria-required='true' required placeholder="ex: Ion Popescu sau DevAI" autocomplete="name" /></p> <p class="comment-form-email invata-form-field"><label for="email">Adresă de Email <span class="required">*</span> <small>(nu va fi publicată)</small></label> <input id="email" name="email" type="email" value="" size="30" maxlength="100" aria-required='true' required placeholder="adresa@exemplu.ro" autocomplete="email" /></p></div> <p class="comment-form-cookies-consent invata-form-checkbox"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes" /><label for="wp-comment-cookies-consent">Salvează numele și emailul în acest browser pentru data viitoare.</label></p> <div class="form-submit invata-form-submit"><button type="submit" id="submit" class="submit invata-submit-btn"><span class="invata-submit-icon"><svg viewBox="0 0 20 20" width="16" height="16" fill="currentColor" aria-hidden="true"><path d="M10.894 2.553a1 1 0 00-1.788 0l-7 14a1 1 0 001.169 1.409l5-1.429A1 1 0 009 15.571V11a1 1 0 112 0v4.571a1 1 0 00.725.962l5 1.428a1 1 0 001.17-1.408l-7-14z"/></svg></span><span id="invata-submit-text">Trimite întrebarea</span></button> <input type='hidden' name='comment_post_ID' value='118226' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </div></form> </div><!-- #respond --> </section> </div> </article> </div> <aside class="site-sidebar invata-sidebar"> <div class="sidebar-sticky"> <div class="widget"> <h3 class="widget-title"> <a href="https://www.dexblog.ro/invata/nextjs/"> <span class="invata-mark invata-mark--sm">NEXT</span> Toate comenzile Next.js </a> </h3> <label class="invata-filter"> <span class="screen-reader-text">Filtrează comenzile</span> <svg viewBox="0 0 24 24" width="16" height="16" aria-hidden="true"><circle cx="11" cy="11" r="7" fill="none" stroke="currentColor" stroke-width="2"/><path d="m20 20-3.5-3.5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg> <input type="search" data-invata-filter placeholder="Filtrează comenzile…" autocomplete="off" spellcheck="false"> </label> <div class="invata-sidebar-commands" data-invata-list data-invata-unu="comandă" data-invata-multi="comenzi"> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Date și Conținut</p> <ul> <li data-invata-item data-category="Date și Conținut"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-draft-mode/"><code>draftMode() din next/headers – Modul de Previzualizare Headless CMS</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Performanță și Backend</p> <ul> <li data-invata-item data-category="Performanță și Backend"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-after/"><code>Funcția after() din next/server – Sarcini Asincrone Post-Răspuns</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Randare și Arhitectură</p> <ul> <li data-invata-item data-category="Randare și Arhitectură"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-connection/"><code>Funcția connection() din next/server – Randare Dinamică Asincronă</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Navigare și Erori</p> <ul> <li data-invata-item data-category="Navigare și Erori"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-notfound-fn/"><code>Funcția notFound() din next/navigation – Declanșarea Erorii 404</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">SEO și Social Media</p> <ul> <li data-invata-item data-category="SEO și Social Media"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-opengraph-image/"><code>Generarea Dinamică de Imagini Social Media (opengraph-image.tsx)</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Randare și Rute</p> <ul> <li data-invata-item data-category="Randare și Rute"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-generate-static-params/"><code>generateStaticParams() – Pre-generarea Rutelor Dinamice la Build</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Navigare și Client</p> <ul> <li data-invata-item data-category="Navigare și Client"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-use-selected-layout-segment/"><code>Hook-ul useSelectedLayoutSegment() – Detectarea Tab-ului Activ</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Observabilitate și Sistem</p> <ul> <li data-invata-item data-category="Observabilitate și Sistem"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-instrumentation/"><code>instrumentation.ts – Monitorizare și Inițializare Servicii Globale</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Conținut și Documentație</p> <ul> <li data-invata-item data-category="Conținut și Documentație"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-mdx/"><code>Integrarea MDX în Next.js (@next/mdx)</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Internaționalizare și Rute</p> <ul> <li data-invata-item data-category="Internaționalizare și Rute"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-internationalization/"><code>Internaționalizare și Rute Multi-limbă ([lang]) în App Router</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Rute și UX</p> <ul> <li data-invata-item data-category="Rute și UX"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-intercepting-routes/"><code>Rute Interceptate – Ferestre Modale și Navigare Contextuală</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Performanță și Cache</p> <ul> <li data-invata-item data-category="Performanță și Cache"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-revalidate-path-type/"><code>Tipuri de Revalidare în revalidatePath() (‘page’ vs ‘layout’)</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Unelte și Dezvoltare</p> <ul> <li data-invata-item data-category="Unelte și Dezvoltare"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-turbopack/"><code>Turbopack – Bundler-ul de Mare Viteză în Rust (next dev –turbopack)</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Performanță și Baze de Date</p> <ul> <li data-invata-item data-category="Performanță și Baze de Date"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-unstable-cache/"><code>unstable_cache() din next/cache – Cache-uirea Interogărilor ORM și DB</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Formulare și Server Actions</p> <ul> <li data-invata-item data-category="Formulare și Server Actions"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-server-actions-form-state/"><code>useActionState() și useFormStatus() – Gestiunea Formularelor de Server</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Interactivitate și Formulare</p> <ul> <li data-invata-item data-category="Interactivitate și Formulare"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-server-actions-optimistic/"><code>useOptimistic() – Actualizări Optimiste Instantanee ale Interfeței</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">CLI și Inițializare proiect</p> <ul> <li data-invata-item data-category="CLI și Inițializare proiect"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-create-app/"><code>create-next-app – Inițializarea unui proiect nou Next.js</code></a> </li> <li data-invata-item data-category="CLI și Inițializare proiect"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-dev/"><code>next dev – Pornirea serverului de dezvoltare local</code></a> </li> <li data-invata-item data-category="CLI și Inițializare proiect"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-build/"><code>next build – Compilarea și optimizarea aplicației pentru producție</code></a> </li> <li data-invata-item data-category="CLI și Inițializare proiect"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-start/"><code>next start – Pornirea serverului de producție</code></a> </li> <li data-invata-item data-category="CLI și Inițializare proiect"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-lint/"><code>next lint – Verificarea automată a calității codului cu ESLint</code></a> </li> <li data-invata-item data-category="CLI și Inițializare proiect"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-info/"><code>next info – Afișarea informațiilor de depanare despre sistem</code></a> </li> <li data-invata-item data-category="CLI și Inițializare proiect"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-telemetry/"><code>next telemetry – Controlul colectării datelor statistice anonime</code></a> </li> <li data-invata-item data-category="CLI și Inițializare proiect"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-env-vars/"><code>Gestionarea variabilelor de mediu (.env.local și NEXT_PUBLIC_)</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Structură App Router și Fișiere Speciale</p> <ul> <li data-invata-item data-category="Structură App Router și Fișiere Speciale"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-layout/"><code>app/layout.tsx – Șabloane de structură persistente (RootLayout și Nested Layouts)</code></a> </li> <li data-invata-item data-category="Structură App Router și Fișiere Speciale"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-page/"><code>app/page.tsx – Definirea conținutului specific al unei rute</code></a> </li> <li data-invata-item data-category="Structură App Router și Fișiere Speciale"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-loading/"><code>app/loading.tsx – Stări de încărcare instantanee (React Suspense)</code></a> </li> <li data-invata-item data-category="Structură App Router și Fișiere Speciale"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-error/"><code>app/error.tsx – Gestionarea erorilor neașteptate (Error Boundary)</code></a> </li> <li data-invata-item data-category="Structură App Router și Fișiere Speciale"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-not-found/"><code>app/not-found.tsx – Pagina personalizată 404 (notFound())</code></a> </li> <li data-invata-item data-category="Structură App Router și Fișiere Speciale"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-template/"><code>app/template.tsx – Reinițializarea stării la navigare</code></a> </li> <li data-invata-item data-category="Structură App Router și Fișiere Speciale"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-route-handlers/"><code>app/api/route.ts – Endpoint-uri API backend (Route Handlers)</code></a> </li> <li data-invata-item data-category="Structură App Router și Fișiere Speciale"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-route-groups/"><code>Grupuri de rute (Route Groups) – Organizare fără afectarea URL-ului</code></a> </li> <li data-invata-item data-category="Structură App Router și Fișiere Speciale"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-parallel-routes/"><code>Rute paralele (@slot) și interceptate – Dashboard-uri avansate și ferestre modale</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Rulare Server vs Client și Server Actions</p> <ul> <li data-invata-item data-category="Rulare Server vs Client și Server Actions"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-server-components/"><code>React Server Components (RSC) – Execuție exclusivă pe server cu zero bundle</code></a> </li> <li data-invata-item data-category="Rulare Server vs Client și Server Actions"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-use-client/"><code>Directiva ‘use client’ – Trecerea la componente interactive de client</code></a> </li> <li data-invata-item data-category="Rulare Server vs Client și Server Actions"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-use-server/"><code>Directiva ‘use server’ – Definirea acțiunilor de server (Server Actions)</code></a> </li> <li data-invata-item data-category="Rulare Server vs Client și Server Actions"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-fetch-cache/"><code>Controlul cache-ului cu fetch() – force-cache și no-store</code></a> </li> <li data-invata-item data-category="Rulare Server vs Client și Server Actions"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-fetch-revalidate/"><code>Revalidare bazată pe timp (ISR) – next: { revalidate: secunde }</code></a> </li> <li data-invata-item data-category="Rulare Server vs Client și Server Actions"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-revalidate-path/"><code>revalidatePath() – Invalidarea manuală a cache-ului pe o rută</code></a> </li> <li data-invata-item data-category="Rulare Server vs Client și Server Actions"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-revalidate-tag/"><code>revalidateTag() – Invalidarea țintită a cache-ului după etichete</code></a> </li> <li data-invata-item data-category="Rulare Server vs Client și Server Actions"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-cookies/"><code>cookies() din next/headers – Gestionarea cookie-urilor pe server</code></a> </li> <li data-invata-item data-category="Rulare Server vs Client și Server Actions"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-headers/"><code>headers() din next/headers – Inspectarea antetelor HTTP pe server</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Navigare, Link-uri și Rutare Dinamică</p> <ul> <li data-invata-item data-category="Navigare, Link-uri și Rutare Dinamică"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-link/"><code>Componenta <Link> – Navigare rapidă pe client cu Prefetching automat</code></a> </li> <li data-invata-item data-category="Navigare, Link-uri și Rutare Dinamică"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-use-router/"><code>Hook-ul useRouter() din next/navigation – Navigare programatică</code></a> </li> <li data-invata-item data-category="Navigare, Link-uri și Rutare Dinamică"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-use-pathname/"><code>Hook-ul usePathname() – Obținerea căii URL curente</code></a> </li> <li data-invata-item data-category="Navigare, Link-uri și Rutare Dinamică"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-use-search-params/"><code>Hook-ul useSearchParams() – Citirea parametrilor query din URL</code></a> </li> <li data-invata-item data-category="Navigare, Link-uri și Rutare Dinamică"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-dynamic-routes/"><code>Segmente dinamice [id] – Crearea rutelor parametrizate</code></a> </li> <li data-invata-item data-category="Navigare, Link-uri și Rutare Dinamică"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-catch-all/"><code>Rute Catch-All […slug] – Capturarea tuturor segmentelor ulterioare din URL</code></a> </li> <li data-invata-item data-category="Navigare, Link-uri și Rutare Dinamică"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-optional-catch-all/"><code>Rute opționale Catch-All [[…slug]] – Includerea și a rutei de bază</code></a> </li> <li data-invata-item data-category="Navigare, Link-uri și Rutare Dinamică"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-redirect/"><code>redirect() și permanentRedirect() – Redirecționări programatice pe server</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Optimizare Performanță și SEO</p> <ul> <li data-invata-item data-category="Optimizare Performanță și SEO"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-image/"><code>Componenta <Image> (next/image) – Optimizarea automată a imaginilor</code></a> </li> <li data-invata-item data-category="Optimizare Performanță și SEO"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-font/"><code>Optimizarea fonturilor cu next/font – Self-hosting automat fără cereri externe</code></a> </li> <li data-invata-item data-category="Optimizare Performanță și SEO"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-script/"><code>Componenta <Script> (next/script) – Încărcarea eficientă a scripturilor terțe</code></a> </li> <li data-invata-item data-category="Optimizare Performanță și SEO"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-dynamic/"><code>next/dynamic – Încărcarea leneșă a componentelor grele (Lazy Loading)</code></a> </li> <li data-invata-item data-category="Optimizare Performanță și SEO" class="is-current"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-metadata/" aria-current="page"><code>Obiectul metadata – Configurarea etichetelor SEO statice</code></a> </li> <li data-invata-item data-category="Optimizare Performanță și SEO"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-generate-metadata/"><code>generateMetadata() – Generarea dinamică a metadatelor SEO</code></a> </li> <li data-invata-item data-category="Optimizare Performanță și SEO"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-sitemap/"><code>app/sitemap.ts – Generarea automată a fișierului sitemap.xml</code></a> </li> <li data-invata-item data-category="Optimizare Performanță și SEO"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-robots/"><code>app/robots.ts – Generarea fișierului robots.txt</code></a> </li> </ul> </div> <div class="invata-sidebar-section" data-invata-group> <p class="invata-sidebar-group">Configurare, Middleware și Deployment</p> <ul> <li data-invata-item data-category="Configurare, Middleware și Deployment"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-config/"><code>next.config.js – Fișierul principal de configurare Next.js</code></a> </li> <li data-invata-item data-category="Configurare, Middleware și Deployment"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-middleware/"><code>middleware.ts – Interceptarea cererilor la nivel de rețea (Edge Middleware)</code></a> </li> <li data-invata-item data-category="Configurare, Middleware și Deployment"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-rewrites/"><code>Rescrieri de rute (rewrites) în next.config.js – Mascarea adreselor interne</code></a> </li> <li data-invata-item data-category="Configurare, Middleware și Deployment"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-redirects/"><code>Redirecționări globale (redirects) în next.config.js – Păstrarea autorității SEO</code></a> </li> <li data-invata-item data-category="Configurare, Middleware și Deployment"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-output-standalone/"><code>output: ‘standalone’ – Optimizarea pentru containere Docker ultra-mici</code></a> </li> <li data-invata-item data-category="Configurare, Middleware și Deployment"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-images-remote-patterns/"><code>images.remotePatterns – Autorizarea domeniilor externe pentru optimizare imagini</code></a> </li> <li data-invata-item data-category="Configurare, Middleware și Deployment"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-headers-config/"><code>Secțiunea headers() în next.config.js – Securizarea răspunsurilor HTTP</code></a> </li> <li data-invata-item data-category="Configurare, Middleware și Deployment"> <a href="https://www.dexblog.ro/invata/nextjs/nextjs-bundle-analyzer/"><code>@next/bundle-analyzer – Vizualizarea și optimizarea dimensiunii pachetelor JS</code></a> </li> </ul> </div> <p class="invata-filter-empty" data-invata-empty hidden>Nicio comandă găsită.</p> </div> </div> <div class="widget"> <h3 class="widget-title">Alte secțiuni</h3> <ul class="invata-sidebar-languages"> <li class="invata-lang-html"> <a href="https://www.dexblog.ro/invata/html/"> <span class="invata-mark invata-mark--sm">HTML</span> HTML </a> </li> <li class="invata-lang-css"> <a href="https://www.dexblog.ro/invata/css/"> <span class="invata-mark invata-mark--sm">CSS</span> CSS </a> </li> <li class="invata-lang-php"> <a href="https://www.dexblog.ro/invata/php/"> <span class="invata-mark invata-mark--sm">PHP</span> PHP </a> </li> <li class="invata-lang-react"> <a href="https://www.dexblog.ro/invata/react/"> <span class="invata-mark invata-mark--sm">REACT</span> React & Next.js </a> </li> <li class="invata-lang-tailwind"> <a href="https://www.dexblog.ro/invata/tailwind/"> <span class="invata-mark invata-mark--sm">TW</span> Tailwind CSS </a> </li> <li class="invata-lang-wordpress"> <a href="https://www.dexblog.ro/invata/wordpress/"> <span class="invata-mark invata-mark--sm">WP</span> WordPress </a> </li> <li class="invata-lang-mongodb"> <a href="https://www.dexblog.ro/invata/mongodb/"> <span class="invata-mark invata-mark--sm">MONGO</span> MongoDB & NoSQL </a> </li> <li class="invata-lang-terraform"> <a href="https://www.dexblog.ro/invata/terraform/"> <span class="invata-mark invata-mark--sm">TF</span> Terraform & OpenTofu (IaC) </a> </li> <li class="invata-lang-flutter"> <a href="https://www.dexblog.ro/invata/flutter/"> <span class="invata-mark invata-mark--sm">FLUTTER</span> Flutter </a> </li> <li class="invata-lang-vue"> <a href="https://www.dexblog.ro/invata/vue/"> <span class="invata-mark invata-mark--sm">VUE</span> Vue.js & Nuxt </a> </li> <li class="invata-lang-svelte"> <a href="https://www.dexblog.ro/invata/svelte/"> <span class="invata-mark invata-mark--sm">SVELTE</span> Svelte & SvelteKit </a> </li> <li class="invata-lang-graphql"> <a href="https://www.dexblog.ro/invata/graphql/"> <span class="invata-mark invata-mark--sm">GQL</span> GraphQL </a> </li> <li class="invata-lang-kafka"> <a href="https://www.dexblog.ro/invata/kafka/"> <span class="invata-mark invata-mark--sm">KAFKA</span> Apache Kafka </a> </li> <li class="invata-lang-rabbitmq"> <a href="https://www.dexblog.ro/invata/rabbitmq/"> <span class="invata-mark invata-mark--sm">RABBIT</span> RabbitMQ </a> </li> <li class="invata-lang-elasticsearch"> <a href="https://www.dexblog.ro/invata/elasticsearch/"> <span class="invata-mark invata-mark--sm">ELASTIC</span> Elasticsearch & OpenSearch </a> </li> <li class="invata-lang-javascript"> <a href="https://www.dexblog.ro/invata/javascript/"> <span class="invata-mark invata-mark--sm">JS</span> JavaScript </a> </li> <li class="invata-lang-aws"> <a href="https://www.dexblog.ro/invata/aws/"> <span class="invata-mark invata-mark--sm">AWS</span> AWS Cloud Essentials </a> </li> <li class="invata-lang-nodejs"> <a href="https://www.dexblog.ro/invata/nodejs/"> <span class="invata-mark invata-mark--sm">NODE</span> Node.js </a> </li> <li class="invata-lang-github-actions"> <a href="https://www.dexblog.ro/invata/github-actions/"> <span class="invata-mark invata-mark--sm">CI/CD</span> GitHub Actions & CI/CD </a> </li> <li class="invata-lang-ansible"> <a href="https://www.dexblog.ro/invata/ansible/"> <span class="invata-mark invata-mark--sm">ANSIBLE</span> Ansible </a> </li> <li class="invata-lang-securitate"> <a href="https://www.dexblog.ro/invata/securitate/"> <span class="invata-mark invata-mark--sm">SEC</span> Securitate Cibernetică & Ethical Hacking </a> </li> <li class="invata-lang-spring-boot"> <a href="https://www.dexblog.ro/invata/spring-boot/"> <span class="invata-mark invata-mark--sm">SPRING</span> Spring Boot </a> </li> <li class="invata-lang-fastapi"> <a href="https://www.dexblog.ro/invata/fastapi/"> <span class="invata-mark invata-mark--sm">FAST</span> FastAPI </a> </li> <li class="invata-lang-nestjs"> <a href="https://www.dexblog.ro/invata/nestjs/"> <span class="invata-mark invata-mark--sm">NEST</span> NestJS </a> </li> <li class="invata-lang-laravel"> <a href="https://www.dexblog.ro/invata/laravel/"> <span class="invata-mark invata-mark--sm">LARAVEL</span> Laravel </a> </li> <li class="invata-lang-spark"> <a href="https://www.dexblog.ro/invata/spark/"> <span class="invata-mark invata-mark--sm">SPARK</span> Apache Spark & PySpark </a> </li> <li class="invata-lang-mysql"> <a href="https://www.dexblog.ro/invata/mysql/"> <span class="invata-mark invata-mark--sm">SQL</span> MySQL </a> </li> <li class="invata-lang-dbt"> <a href="https://www.dexblog.ro/invata/dbt/"> <span class="invata-mark invata-mark--sm">DBT</span> Snowflake & dbt (Data Stack) </a> </li> <li class="invata-lang-sqlite"> <a href="https://www.dexblog.ro/invata/sqlite/"> <span class="invata-mark invata-mark--sm">SQLITE</span> SQLite </a> </li> <li class="invata-lang-postgresql"> <a href="https://www.dexblog.ro/invata/postgresql/"> <span class="invata-mark invata-mark--sm">PGSQL</span> PostgreSQL </a> </li> <li class="invata-lang-typescript"> <a href="https://www.dexblog.ro/invata/typescript/"> <span class="invata-mark invata-mark--sm">TS</span> TypeScript </a> </li> <li class="invata-lang-python"> <a href="https://www.dexblog.ro/invata/python/"> <span class="invata-mark invata-mark--sm">PY</span> Python </a> </li> <li class="invata-lang-pandas"> <a href="https://www.dexblog.ro/invata/pandas/"> <span class="invata-mark invata-mark--sm">PANDAS</span> pandas </a> </li> <li class="invata-lang-numpy"> <a href="https://www.dexblog.ro/invata/numpy/"> <span class="invata-mark invata-mark--sm">NUMPY</span> NumPy </a> </li> <li class="invata-lang-regex"> <a href="https://www.dexblog.ro/invata/regex/"> <span class="invata-mark invata-mark--sm">REGEX</span> Expresii Regulare (RegEx) </a> </li> <li class="invata-lang-windows"> <a href="https://www.dexblog.ro/invata/windows/"> <span class="invata-mark invata-mark--sm">CMD</span> Comenzi Windows (CMD) </a> </li> <li class="invata-lang-linux"> <a href="https://www.dexblog.ro/invata/linux/"> <span class="invata-mark invata-mark--sm">LINUX</span> Linux / Bash </a> </li> <li class="invata-lang-powershell"> <a href="https://www.dexblog.ro/invata/powershell/"> <span class="invata-mark invata-mark--sm">PS</span> PowerShell </a> </li> <li class="invata-lang-curl"> <a href="https://www.dexblog.ro/invata/curl/"> <span class="invata-mark invata-mark--sm">CURL</span> Comenzi cURL </a> </li> <li class="invata-lang-ffmpeg"> <a href="https://www.dexblog.ro/invata/ffmpeg/"> <span class="invata-mark invata-mark--sm">FFMPEG</span> FFmpeg </a> </li> <li class="invata-lang-git"> <a href="https://www.dexblog.ro/invata/git/"> <span class="invata-mark invata-mark--sm">GIT</span> Git </a> </li> <li class="invata-lang-apache"> <a href="https://www.dexblog.ro/invata/apache/"> <span class="invata-mark invata-mark--sm">HTTPD</span> Apache HTTP Server </a> </li> <li class="invata-lang-docker"> <a href="https://www.dexblog.ro/invata/docker/"> <span class="invata-mark invata-mark--sm">DOCKER</span> Docker </a> </li> <li class="invata-lang-kubernetes"> <a href="https://www.dexblog.ro/invata/kubernetes/"> <span class="invata-mark invata-mark--sm">K8S</span> Kubernetes (kubectl) </a> </li> <li class="invata-lang-gh"> <a href="https://www.dexblog.ro/invata/gh/"> <span class="invata-mark invata-mark--sm">GH</span> Comenzi GitHub CLI (gh) </a> </li> <li class="invata-lang-nginx"> <a href="https://www.dexblog.ro/invata/nginx/"> <span class="invata-mark invata-mark--sm">NGINX</span> Nginx </a> </li> <li class="invata-lang-openlitespeed"> <a href="https://www.dexblog.ro/invata/openlitespeed/"> <span class="invata-mark invata-mark--sm">OLS</span> OpenLiteSpeed </a> </li> <li class="invata-lang-c"> <a href="https://www.dexblog.ro/invata/c/"> <span class="invata-mark invata-mark--sm">C</span> C </a> </li> <li class="invata-lang-cpp"> <a href="https://www.dexblog.ro/invata/cpp/"> <span class="invata-mark invata-mark--sm">C++</span> C++ </a> </li> <li class="invata-lang-go"> <a href="https://www.dexblog.ro/invata/go/"> <span class="invata-mark invata-mark--sm">GO</span> Go </a> </li> <li class="invata-lang-swift"> <a href="https://www.dexblog.ro/invata/swift/"> <span class="invata-mark invata-mark--sm">SWIFT</span> Swift (iOS & macOS) </a> </li> <li class="invata-lang-redis"> <a href="https://www.dexblog.ro/invata/redis/"> <span class="invata-mark invata-mark--sm">REDIS</span> Redis & In-Memory Data Store </a> </li> <li class="invata-lang-rust"> <a href="https://www.dexblog.ro/invata/rust/"> <span class="invata-mark invata-mark--sm">RS</span> Rust </a> </li> <li class="invata-lang-java"> <a href="https://www.dexblog.ro/invata/java/"> <span class="invata-mark invata-mark--sm">JAVA</span> Java </a> </li> <li class="invata-lang-csharp"> <a href="https://www.dexblog.ro/invata/csharp/"> <span class="invata-mark invata-mark--sm">C#</span> C# (.NET) </a> </li> <li class="invata-lang-luau"> <a href="https://www.dexblog.ro/invata/luau/"> <span class="invata-mark invata-mark--sm">LUAU</span> Luau (Roblox Studio) </a> </li> <li class="invata-lang-lua"> <a href="https://www.dexblog.ro/invata/lua/"> <span class="invata-mark invata-mark--sm">LUA</span> Lua </a> </li> <li class="invata-lang-assembly"> <a href="https://www.dexblog.ro/invata/assembly/"> <span class="invata-mark invata-mark--sm">ASM</span> Assembly (x86_64) </a> </li> <li class="invata-lang-ruby"> <a href="https://www.dexblog.ro/invata/ruby/"> <span class="invata-mark invata-mark--sm">RB</span> Ruby </a> </li> <li class="invata-lang-gdscript"> <a href="https://www.dexblog.ro/invata/gdscript/"> <span class="invata-mark invata-mark--sm">GDS</span> GDScript (Godot Engine) </a> </li> <li class="invata-lang-kotlin"> <a href="https://www.dexblog.ro/invata/kotlin/"> <span class="invata-mark invata-mark--sm">KT</span> Kotlin </a> </li> <li class="invata-lang-dart"> <a href="https://www.dexblog.ro/invata/dart/"> <span class="invata-mark invata-mark--sm">DART</span> Dart </a> </li> </ul> <div class="invata-sidebar-crosslink"> <a class="invata-sidebar-crosslink-btn" href="https://www.dexblog.ro/invata-ai/"> <span class="invata-mark invata-mark--sm">AI</span> <span>Nou: Învață AI →</span> </a> </div> </div> </div> </aside> </div> </main> <footer class="site-footer"> <div class="footer-container"> <div class="footer-brand"> <a class="footer-logo" href="https://www.dexblog.ro/"> <span class="site-logo-mark" aria-hidden="true"></span> <span>dexblog.ro</span> </a> <p class="footer-tagline">Totul despre IT</p> <div class="footer-badges"> <a href="https://www.dexblog.ro/invata-ai/" class="footer-badge footer-badge--ai">21 Module AI</a> <a href="https://www.dexblog.ro/invata/" class="footer-badge">14 Limbaje de Cod</a> </div> </div> <nav class="footer-col" aria-label="Învață Programare"> <h4 class="footer-col-title">Învață Programare</h4> <ul class="footer-nav-list"> <li><a href="https://www.dexblog.ro/invata/">Toate limbajele</a></li> <li><a href="https://www.dexblog.ro/invata/python/">Python</a></li> <li><a href="https://www.dexblog.ro/invata/javascript/">JavaScript & TypeScript</a></li> <li><a href="https://www.dexblog.ro/invata/php/">PHP & MySQL</a></li> <li><a href="https://www.dexblog.ro/invata/html/">HTML & CSS</a></li> <li><a href="https://www.dexblog.ro/invata/linux/">Linux, Bash & Git</a></li> </ul> </nav> <nav class="footer-col" aria-label="Învață Inteligență Artificială"> <h4 class="footer-col-title">Învață AI</h4> <ul class="footer-nav-list"> <li><a href="https://www.dexblog.ro/invata-ai/">Hub Învață AI</a></li> <li><a href="https://www.dexblog.ro/invata/ai/">Glosar de Termeni AI</a></li> <li><a href="https://www.dexblog.ro/invata/llm/">Modele LLM & RAG</a></li> <li><a href="https://www.dexblog.ro/invata/claude-code/">Claude Code & Cursor IDE</a></li> <li><a href="https://www.dexblog.ro/invata/ollama/">Ollama & AI Local</a></li> <li><a href="https://www.dexblog.ro/invata/langchain/">LangChain & Hugging Face</a></li> </ul> </nav> <nav class="footer-col" aria-label="Platformă și Secțiuni"> <h4 class="footer-col-title">Secțiuni</h4> <ul class="footer-nav-list"> <li><a href="https://www.dexblog.ro/">Articole & Noutăți</a></li> <li><a href="https://www.dexblog.ro/dispozitive/">Specificații Dispozitive</a></li> <li><a href="https://www.dexblog.ro/comparatii/">Comparații Telefoane</a></li> <li><a href="https://www.dexblog.ro/invata/prompt-engineering/">Prompt Engineering</a></li> <li><a href="https://www.dexblog.ro/invata/midjourney/">Midjourney & ComfyUI</a></li> </ul> </nav> </div> <div class="footer-bottom"> <div class="footer-bottom-inner"> <p>© 2026 <strong>dexblog.ro</strong>. Toate drepturile rezervate.</p> <a href="#top" class="footer-back-top" aria-label="Înapoi la începutul paginii">Înapoi sus ↑</a> </div> </div> </footer> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/dexblogtheme/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3928528413748829" crossorigin="anonymous"></script> <script id="invata-js" src="https://www.dexblog.ro/wp-content/themes/dexblogtheme/js/invata.js?ver=1793707895"></script> <script async data-wp-strategy="async" fetchpriority="low" id="comment-reply-js" src="https://www.dexblog.ro/wp-includes/js/comment-reply.min.js?ver=7.1.4"></script> </body> </html><!-- WP Fastest Cache file was created in 0.183 seconds, on Nov 3, 2026 @ 18:44 --><!-- need to refresh to see cached version -->