Fixed SEO findings

X-Lovable-Edit-ID: edt-a2ab01c9-24f0-4843-a2d9-33bd88667539
Co-authored-by: domfelipe <53182096+domfelipe@users.noreply.github.com>
This commit is contained in:
gpt-engineer-app[bot] 2026-05-18 22:04:14 +00:00
commit 533235260c
7 changed files with 111 additions and 31 deletions

View file

@ -1,6 +1,6 @@
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion";
const faqs = [
export const faqs = [
{
q: "O que é o Mika?",
a: "Mika é uma plataforma brasileira que entrega para você um agente de IA pessoal hospedado em VPS gerenciada, acessível direto pelo Telegram. Ele aprende com você, lembra de contexto e executa tarefas com integrações reais.",

View file

@ -0,0 +1,15 @@
// This file is automatically generated. Do not edit it directly.
import { createMiddleware } from '@tanstack/react-start'
import { supabase } from './client'
// Must be registered as a global `functionMiddleware` in `src/start.ts`; otherwise
// the browser never attaches the bearer token to serverFn RPCs.
export const attachSupabaseAuth = createMiddleware({ type: 'function' }).client(
async ({ next }) => {
const { data } = await supabase.auth.getSession()
const token = data.session?.access_token
return next({
headers: token ? { Authorization: `Bearer ${token}` } : {},
})
},
)

View file

@ -649,12 +649,3 @@ const rootRouteChildren: RootRouteChildren = {
export const routeTree = rootRouteImport
._addFileChildren(rootRouteChildren)
._addFileTypes<FileRouteTypes>()
import type { getRouter } from './router.tsx'
import type { createStart } from '@tanstack/react-start'
declare module '@tanstack/react-start' {
interface Register {
ssr: true
router: Awaited<ReturnType<typeof getRouter>>
}
}

View file

@ -33,50 +33,61 @@ function NotFoundComponent() {
);
}
const OG_IMAGE =
"https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/be92ada2-f87d-43b5-bd30-333f14e189e4/id-preview-6e3a7096--798b89e5-0dc6-412a-81be-a4b6dfea7b6c.lovable.app-1776957543862.png";
export const Route = createRootRouteWithContext<RouterContext>()({
head: () => ({
meta: [
{ charSet: "utf-8" },
{ name: "viewport", content: "width=device-width, initial-scale=1" },
{ title: "Mika — Assistente Pessoal IA" },
{ title: "Mika — Assistente Pessoal IA no Telegram" },
{
name: "description",
content:
"Agentes de IA personalizados que aprendem com você e te atendem direto no Telegram. Planos a partir de R$ 69,90/mês.",
"Agentes de IA personalizados que aprendem com você e atendem direto no Telegram. Planos a partir de R$ 69,90/mês.",
},
{ name: "author", content: "DOMCO" },
{ name: "theme-color", content: "#F97316" },
{ property: "og:title", content: "Mika — Assistente Pessoal IA" },
{
property: "og:description",
content:
"Agentes de IA personalizados que aprendem com você e te atendem direto no Telegram. Planos a partir de R$ 69,90/mês.",
},
{ property: "og:site_name", content: "Mika" },
{ property: "og:type", content: "website" },
{ property: "og:locale", content: "pt_BR" },
{ property: "og:url", content: "https://mika.domco.ai" },
{ property: "og:image", content: "https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/be92ada2-f87d-43b5-bd30-333f14e189e4/id-preview-6e3a7096--798b89e5-0dc6-412a-81be-a4b6dfea7b6c.lovable.app-1776957543862.png" },
{ property: "og:image", content: OG_IMAGE },
{ name: "twitter:card", content: "summary_large_image" },
{ name: "twitter:title", content: "Mika — Assistente Pessoal IA" },
{
name: "twitter:description",
content: "Agentes de IA personalizados, em português, direto no Telegram.",
},
{ name: "twitter:image", content: "https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/be92ada2-f87d-43b5-bd30-333f14e189e4/id-preview-6e3a7096--798b89e5-0dc6-412a-81be-a4b6dfea7b6c.lovable.app-1776957543862.png" },
{ name: "description", content: "Mika: Seu Agente Inteligente - IA pessoal no Telegram." },
{ property: "og:description", content: "Mika: Seu Agente Inteligente - IA pessoal no Telegram." },
{ name: "twitter:description", content: "Mika: Seu Agente Inteligente - IA pessoal no Telegram." },
{ name: "twitter:image", content: OG_IMAGE },
],
links: [
{ rel: "stylesheet", href: appCss },
{ rel: "icon", href: "/favicon.svg", type: "image/svg+xml" },
{ rel: "canonical", href: "https://mika.domco.ai" },
{ rel: "preconnect", href: "https://rsms.me" },
{
rel: "stylesheet",
href: "https://rsms.me/inter/inter.css",
},
],
scripts: [
{
type: "application/ld+json",
children: JSON.stringify({
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
name: "Mika",
url: "https://mika.domco.ai",
logo: "https://mika.domco.ai/favicon.svg",
parentOrganization: { "@type": "Organization", name: "DOMCO" },
},
{
"@type": "WebSite",
name: "Mika",
url: "https://mika.domco.ai",
inLanguage: "pt-BR",
},
],
}),
},
],
}),
shellComponent: RootShell,
component: RootComponent,

View file

@ -4,10 +4,36 @@ import { HeroSection } from "@/components/mika/HeroSection";
import { FeaturesSection } from "@/components/mika/FeaturesSection";
import { HowItWorksSection } from "@/components/mika/HowItWorksSection";
import { PlansSection } from "@/components/mika/PlansSection";
import { FaqSection } from "@/components/mika/FaqSection";
import { FaqSection, faqs } from "@/components/mika/FaqSection";
import { LandingFooter } from "@/components/mika/LandingFooter";
export const Route = createFileRoute("/")({
head: () => ({
meta: [
{ property: "og:title", content: "Mika — Assistente Pessoal IA no Telegram" },
{
property: "og:description",
content:
"Agentes de IA personalizados que aprendem com você e atendem direto no Telegram. Planos a partir de R$ 69,90/mês.",
},
{ property: "og:url", content: "https://mika.domco.ai/" },
],
links: [{ rel: "canonical", href: "https://mika.domco.ai/" }],
scripts: [
{
type: "application/ld+json",
children: JSON.stringify({
"@context": "https://schema.org",
"@type": "FAQPage",
mainEntity: faqs.map((f) => ({
"@type": "Question",
name: f.q,
acceptedAnswer: { "@type": "Answer", text: f.a },
})),
}),
},
],
}),
component: LandingPage,
});

View file

@ -27,6 +27,24 @@ export const Route = createFileRoute("/login")({
validateSearch: (search: Record<string, unknown>): LoginSearch => ({
redirect: typeof search.redirect === "string" ? search.redirect : undefined,
}),
head: () => ({
meta: [
{ title: "Entrar na Mika — Acesse seu agente de IA" },
{
name: "description",
content:
"Faça login na sua conta Mika para acessar seu agente de IA pessoal, integrações e configurações no painel.",
},
{ property: "og:title", content: "Entrar na Mika" },
{
property: "og:description",
content: "Acesse seu agente de IA pessoal no painel da Mika.",
},
{ property: "og:url", content: "https://mika.domco.ai/login" },
{ name: "robots", content: "noindex,follow" },
],
links: [{ rel: "canonical", href: "https://mika.domco.ai/login" }],
}),
component: LoginPage,
});

View file

@ -40,6 +40,25 @@ export const Route = createFileRoute("/signup")({
plan: typeof search.plan === "string" ? search.plan : undefined,
cycle: search.cycle === "yearly" || search.cycle === "monthly" ? search.cycle : undefined,
}),
head: () => ({
meta: [
{ title: "Criar conta na Mika — Comece seu agente de IA" },
{
name: "description",
content:
"Crie sua conta Mika em minutos e tenha um agente de IA pessoal no Telegram. Garantia de 30 dias para reembolso integral.",
},
{ property: "og:title", content: "Criar conta na Mika" },
{
property: "og:description",
content:
"Comece em minutos. Agente de IA pessoal no Telegram com garantia de 30 dias.",
},
{ property: "og:url", content: "https://mika.domco.ai/signup" },
{ name: "robots", content: "noindex,follow" },
],
links: [{ rel: "canonical", href: "https://mika.domco.ai/signup" }],
}),
component: SignupPage,
});