/* ========================================================= * SEO HOMEPAGE — Meta, Schema.org, Preload * ========================================================= */ add_action('wp_head', function (): void { if (!is_front_page()) return; $title = 'Investir à Marrakech | Prix m², Estimation & Outils Immobiliers | Marrakech Immobilier'; $description = 'Plateforme d\'analyse immobilière à Marrakech. Comparez les prix au m² par quartier, estimez votre bien, calculez votre rendement locatif. 7 outils gratuits pour acheter ou investir en toute connaissance.'; $canonical = home_url('/'); $og_image = home_url('/wp-content/uploads/2026/04/marrakech-hero.jpg'); echo '' . "\n"; echo "\n\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; $schema = [ '@context' => 'https://schema.org', '@graph' => [ [ '@type' => 'WebSite', '@id' => home_url('/#website'), 'url' => home_url('/'), 'name' => 'Marrakech Immobilier', 'description' => 'Plateforme d\'analyse et d\'outils immobiliers à Marrakech', 'inLanguage' => 'fr-MA', 'potentialAction' => [ '@type' => 'SearchAction', 'target' => ['@type' => 'EntryPoint', 'urlTemplate' => home_url('/?s={search_term_string}')], 'query-input' => 'required name=search_term_string', ], ], [ '@type' => 'RealEstateAgent', '@id' => home_url('/#business'), 'name' => 'Marrakech Immobilier', 'url' => home_url('/'), 'image' => $og_image, 'description' => 'Analyse du marché immobilier à Marrakech : prix au m², estimation, rentabilité locative, fiscalité et frais d\'acquisition.', 'address' => ['@type' => 'PostalAddress', 'addressLocality' => 'Marrakech', 'addressCountry' => 'MA'], 'areaServed' => ['@type' => 'City', 'name' => 'Marrakech'], ], [ '@type' => 'WebPage', '@id' => home_url('/#webpage'), 'url' => home_url('/'), 'name' => $title, 'description' => $description, 'isPartOf' => ['@id' => home_url('/#website')], 'inLanguage' => 'fr-MA', 'breadcrumb' => [ '@type' => 'BreadcrumbList', 'itemListElement' => [['@type' => 'ListItem', 'position' => 1, 'name' => 'Accueil', 'item' => home_url('/')]], ], ], [ '@type' => 'ItemList', 'name' => 'Outils immobiliers Marrakech', 'numberOfItems' => 7, 'itemListElement' => [ ['@type' => 'ListItem', 'position' => 1, 'name' => 'Estimation immobilière Marrakech', 'url' => home_url('/estimation-immobiliere-marrakech/')], ['@type' => 'ListItem', 'position' => 2, 'name' => 'Prix au m² par quartier', 'url' => home_url('/prix-immobilier-a-marrakech-au-m2-par-quartier-et-par-type-de-bien/')], ['@type' => 'ListItem', 'position' => 3, 'name' => 'Simulateur de rentabilité locative', 'url' => home_url('/simulateur-de-rentabilite-immobiliere-a-marrakech/')], ['@type' => 'ListItem', 'position' => 4, 'name' => 'Calculateur budget d\'achat', 'url' => home_url('/budget-immobilier-marrakech/')], ['@type' => 'ListItem', 'position' => 5, 'name' => 'Calculateur frais d\'acquisition', 'url' => home_url('/calculateur-frais-dacquisition-maroc/')], ['@type' => 'ListItem', 'position' => 6, 'name' => 'Calculateur revenus locatifs', 'url' => home_url('/calculateur-revenus-locatifs-marrakech/')], ['@type' => 'ListItem', 'position' => 7, 'name' => 'Calculateur TPI plus-value', 'url' => home_url('/calculateur-tpi-plus-value-immobiliere/')], ], ], [ '@type' => 'FAQPage', '@id' => home_url('/#faq'), 'mainEntity' => [ ['@type' => 'Question', 'name' => 'Quel est le prix au m² à Marrakech ?', 'acceptedAnswer' => ['@type' => 'Answer', 'text' => 'Les prix au m² à Marrakech varient selon les quartiers : de 8 000 DH/m² en Médina à plus de 20 000 DH/m² en Palmeraie ou Hivernage. À Guéliz, le prix moyen tourne autour de 15 500 DH/m² en 2025-2026.']], ['@type' => 'Question', 'name' => 'Un étranger peut-il acheter un bien immobilier à Marrakech ?', 'acceptedAnswer' => ['@type' => 'Answer', 'text' => 'Oui, les étrangers peuvent acheter librement un bien immobilier au Maroc. L\'achat doit être financé par un virement en devises et l\'acte authentifié par un notaire.']], ['@type' => 'Question', 'name' => 'Quel rendement locatif espérer à Marrakech ?', 'acceptedAnswer' => ['@type' => 'Answer', 'text' => 'Le rendement locatif brut à Marrakech se situe généralement entre 6% et 14% selon le quartier et le type de bien.']], ['@type' => 'Question', 'name' => 'Quels sont les frais d\'acquisition immobilière au Maroc ?', 'acceptedAnswer' => ['@type' => 'Answer', 'text' => 'Les frais d\'acquisition immobilière au Maroc représentent environ 6 à 7% du prix de vente : droits d\'enregistrement (4%), conservation foncière (1,5%), honoraires notaire (1%) et frais divers.']], ], ], ], ]; echo '\n"; echo "\n"; }, 1); add_filter('document_title_parts', function (array $title): array { if (is_front_page()) { $title['title'] = 'Investir à Marrakech | Prix m², Estimation & Outils Immobiliers'; $title['tagline'] = ''; $title['site'] = 'Marrakech Immobilier'; } return $title; }); /* ========================================================= * AJAX — Cards aléatoires quartiers & guides (bypass LiteSpeed) * ========================================================= */ add_action('wp_ajax_mi_random_cards', 'mi_ajax_random_cards'); add_action('wp_ajax_nopriv_mi_random_cards', 'mi_ajax_random_cards'); function mi_ajax_random_cards(): void { $type = isset($_GET['type']) ? sanitize_key($_GET['type']) : ''; $nonce = isset($_GET['nonce']) ? sanitize_text_field(wp_unslash($_GET['nonce'])) : ''; if (!wp_verify_nonce($nonce, 'mi_random_cards')) { wp_send_json_error('invalid_nonce', 403); } if (!in_array($type, ['quartier', 'guide'], true)) { wp_send_json_error('invalid_type', 400); } $query = new WP_Query([ 'post_type' => $type, 'posts_per_page' => 3, 'post_status' => 'publish', 'orderby' => 'rand', 'no_found_rows' => true, ]); $cards = []; if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); $id = get_the_ID(); $title_val = get_the_title(); $permalink = get_permalink(); $excerpt = wp_trim_words(wp_strip_all_tags(get_the_content()), $type === 'quartier' ? 18 : 22); if ($type === 'quartier') { $thumb_id = get_post_thumbnail_id($id); $image = $thumb_id ? wp_get_attachment_image_url($thumb_id, 'full') : ''; $image_alt = $thumb_id ? (string) get_post_meta($thumb_id, '_wp_attachment_image_alt', true) : ''; $image_alt = $image_alt ?: sprintf('Photo du quartier %s à Marrakech', $title_val); $cards[] = ['title' => $title_val, 'permalink' => $permalink, 'excerpt' => $excerpt, 'image' => $image, 'image_alt' => $image_alt]; } else { $cards[] = ['title' => $title_val, 'permalink' => $permalink, 'excerpt' => $excerpt]; } } wp_reset_postdata(); } header('Cache-Control: no-store, no-cache, must-revalidate'); header('Pragma: no-cache'); header('X-LiteSpeed-Cache-Control: no-cache'); wp_send_json_success($cards); } /* Injecter le nonce + URL AJAX dans le footer de la homepage uniquement */ add_action('wp_footer', function (): void { if (!is_front_page()) return; echo '' . "\n"; }, 1);