{"version":3,"file":"static/js/4173.4073b1a4.chunk.js","mappings":"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","sources":["components/meta/Helmet.tsx","statics/promotion-guides/ListOfKeywordsBooks.tsx","statics/promotion-guides/components/sections.ts","statics/promotion-guides/components/Sidebar.tsx","statics/promotion-guides/components/BookMarketingSeries.tsx","statics/promotion-guides/components/Layout.tsx","statics/promotion-guides/components/PartnerAdvert.tsx"],"sourcesContent":["import React from 'react';\nimport { Helmet as ReactHelmet } from 'react-helmet';\n\ninterface HelmetInput {\n  title: string;\n  url: string;\n  description?: string;\n  // Provide if there's a better image than the default\n  ogImage?: string;\n}\n\nexport default function Helmet({ metaContent, schema }: { metaContent: HelmetInput, schema?: Array<Object> }) {\n  const { title, url, description, ogImage } = metaContent;\n  const defaultOgImage =\n    'https://website-assets-public.s3.us-west-2.amazonaws.com/opengraph/girl-in-hammock.jpg';\n  const currentOgImage = ogImage || defaultOgImage;\n  // Recent OG Images generated from Canva are 1200 x 600\n  // So if one was set from Helmet, we use the smaller 600 size.\n  // These will have to be redone and this discrepancy removed.\n  const height = ogImage ? '600' : '630';\n  return (\n    <ReactHelmet>\n      <title>{title}</title>\n      <meta property=\"og:title\" content={title} />\n      <link rel=\"canonical\" href={url} />\n      <meta property=\"og:url\" content={url} />\n      <meta property=\"og:description\" content={description} />\n      <meta property=\"og:image\" content={currentOgImage} />\n      <meta property=\"og:image:url\" content={currentOgImage} />\n      <meta property=\"og:image:width\" content=\"1200\" />\n      <meta property=\"og:image:height\" content={height} />\n\n      <script type=\"application/ld+json\">\n        {JSON.stringify({\n          \"@context\": \"https://schema.org\",\n          \"@type\": \"Organization\",\n          \"url\": \"https://bookraid.com\",\n          \"logo\": \"https://bookraid.com/logo.png\",\n          \"description\": \"BookRaid is a website and newsletter that lets you download free & bestselling discount eBooks for your Kindle, Nook, Kobo, or other eReader\"\n        })}\n      </script>\n      {schema && (\n        schema.map(sch => <script type=\"application/ld+json\">{JSON.stringify(sch)}</script>)\n      )}\n    </ReactHelmet>\n  );\n}\n\nHelmet.defaultProps = {\n  schema: [],\n};\n","/* eslint-disable react/no-unescaped-entities */\nimport React from 'react';\nimport { Typography, Box } from '@mui/material';\nimport GuideLayout from './components/Layout';\n\nimport PartnerAdvert from './components/PartnerAdvert';\n\nfunction ListOfKeywordsBooks() {\n  return (\n    <GuideLayout>\n      <Box sx={{ mb: 4 }}>\n        <Typography variant=\"h5\" sx={{ mb: 1 }}>\n          Why Keywords Matter\n        </Typography>\n        <Typography>\n          Let’s start with the basics: keywords are how readers find books online. Think of Amazon as a giant search engine where readers type in terms like “romantic suspense” or “how to meditate.” If your book is optimized with the right keywords, it stands a better chance of being discovered. Without them, even the best book might get lost in the digital shuffle.\n        </Typography>\n        <Typography>\n          Keywords show up in a few key places: your book’s title, subtitle, description, and backend metadata fields. Amazon gives you seven keyword slots in the backend, and you can fill each with up to 50 characters. But don’t stop there—keywords in your title and description also help. Use them thoughtfully to tell Amazon’s algorithm exactly what your book is about.\n        </Typography>\n      </Box>\n\n      <Box sx={{ mb: 4 }}>\n        <Typography variant=\"h5\" sx={{ mb: 1 }}>\n          How to Find Keywords\n        </Typography>\n        <Typography>\n          Finding the right keywords takes a little effort, but it’s worth it. Start by brainstorming terms related to your book. Think about its genre, themes, and unique features. If it’s a thriller set in Venice, keywords might include “international thriller,” “Venice crime novel,” or “art heist mystery.”\n        </Typography>\n        <Typography>\n          One trick is to use Amazon’s autocomplete feature. Open an incognito browser window, head to Amazon, and type your keyword ideas into the search bar. Pay attention to the suggested phrases—these are terms that people are actively searching for. For example, if you type “self-help,” you might see suggestions like “self-help for anxiety” or “self-help for relationships.” These can give you more specific keyword ideas.\n        </Typography>\n        <Typography>\n          You can also analyze the competition. Look at books similar to yours and note the keywords they rank for. Tools like Publisher Rocket or paid keyword services can help automate this process by showing search volume, competition, and sales potential.\n        </Typography>\n      </Box>\n\n      <Box sx={{ mb: 4 }}>\n        <Typography variant=\"h5\" sx={{ mb: 1 }}>\n          How to Use Keywords Effectively\n        </Typography>\n        <Typography>\n          Once you have your keywords, the next step is using them effectively. Start with the backend keyword slots. Each slot allows up to 50 characters, and you can include multiple keywords per slot. For instance, instead of just “time management,” you could write “time management, productivity, focus hacks.”\n        </Typography>\n        <Typography>\n          Include keywords in your book’s title and subtitle, if it makes sense. For example, a title like \"Time Management for Busy Moms\" naturally includes a keyword phrase. But don’t force keywords into your title if it makes it awkward—there’s always the description.\n        </Typography>\n        <Typography>\n          Speaking of descriptions, this is where you can really shine. Use your keywords naturally throughout the description. Avoid keyword stuffing—it should read smoothly while giving readers a clear idea of what your book offers. A well-written description that uses relevant keywords can boost your book’s visibility while still appealing to human readers.\n        </Typography>\n      </Box>\n\n      <PartnerAdvert />\n\n      <Box sx={{ mb: 4 }}>\n        <Typography variant=\"h5\" sx={{ mb: 1 }}>\n          How to Market a Self-Published Book\n        </Typography>\n        <Typography>\n          Marketing a self-published book can feel overwhelming, but the key is to focus on visibility and credibility. Start by optimizing your Amazon page. As we’ve discussed, keywords are essential, but so is your book cover, description, and even your author bio. These are the elements that turn browsers into buyers.\n        </Typography>\n        <Typography>\n          Next, build an online presence. Social media platforms like Instagram or Twitter can help you connect with potential readers. If your book targets a niche audience—say, rock climbers or dog trainers—consider joining online communities where these readers gather.\n        </Typography>\n        <Typography>\n          Email marketing is another powerful tool. Build a mailing list of readers who are interested in your genre. You can use platforms like Mailchimp to send newsletters, announce new releases, and even share exclusive content like short stories or behind-the-scenes looks at your writing process.\n        </Typography>\n        <Typography>\n          Finally, don’t underestimate the power of reviews. Encourage readers to leave honest reviews on Amazon or Goodreads. Positive reviews can boost your book’s credibility and improve its visibility in search results.\n        </Typography>\n      </Box>\n\n      <Box sx={{ mb: 4 }}>\n        <Typography variant=\"h5\" sx={{ mb: 1 }}>\n          Common Mistakes to Avoid\n        </Typography>\n        <Typography>\n          When it comes to keywords, a few missteps can hurt your book’s chances of success. First, avoid repeating keywords across multiple fields. If a keyword is in your title, you don’t need to use it in the backend metadata—it’s redundant.\n        </Typography>\n        <Typography>\n          Second, don’t use misleading keywords. For example, adding “Harry Potter” as a keyword for your fantasy novel, unless it’s directly relevant, can backfire. Amazon’s guidelines are strict, and violating them could get your book flagged.\n        </Typography>\n        <Typography>\n          Lastly, don’t overlook the importance of research. The most obvious keywords often have the most competition. Dig deeper to find less competitive terms with a solid search volume.\n        </Typography>\n      </Box>\n\n      <Box>\n        <Typography variant=\"h5\" sx={{ mb: 1 }}>\n          Final Thoughts\n        </Typography>\n        <Typography>\n          Keywords are a critical piece of the puzzle when it comes to book marketing, especially for self-published authors. By choosing the right keywords, you increase your chances of being discovered by the readers who will love your book. Combine that with a thoughtful marketing strategy, and you’re on your way to success.\n        </Typography>\n      </Box>\n    </GuideLayout>\n  );\n}\n\nexport default ListOfKeywordsBooks;\n","import AmznMarketing from '../../../images/promo_guides/amazon_marketing.jpg';\nimport MarketingChecklist from '../../../images/promo_guides/marketing_checklist.jpg';\nimport MarketingStrat from '../../../images/promo_guides/book_strategy.jpg';\nimport MoreIdeas from '../../../images/promo_guides/more_ideas.jpg';\nimport BookReview from '../../../images/promo_guides/book_reviewing.jpg';\nimport GuerillaBookMarketing from '../../../images/promo_guides/guerilla_marketing.jpg';\nimport BookLaunch from '../../../images/promo_guides/book_launch.jpg';\nimport HowToPromote from '../../../images/promo_guides/promote_book.jpg';\nimport Keywords from '../../../images/promo_guides/book_keywords.jpg';\nimport BookMarketing from '../../../images/promo_guides/book_marketing.jpg';\nimport SocialMedia from '../../../images/promo_guides/social_media_marketing.jpg';\n\nconst sections = [\n  {\n    path: '/marketing-guide/how-to-launch-a-book',\n    title: 'How to Launch a Book',\n    bold: true,\n    img: BookLaunch,\n  },\n  {\n    path: '/marketing-guide/list-of-keywords-for-books',\n    title: 'List of Keywords for Books',\n    img: Keywords,\n  },\n  {\n    path: '/marketing-guide/book-marketing-plan',\n    title: 'Book Marketing Plan',\n    img: BookMarketing,\n  },\n  {\n    path: '/marketing-guide/how-to-promote-your-book',\n    title: 'How to Promote a Book',\n    bold: true,\n    img: HowToPromote,\n  },\n  {\n    path: '/marketing-guide/book-marketing-strategies',\n    title: 'Book Marketing Strategies',\n    img: MarketingStrat,\n  },\n  {\n    path: '/marketing-guide/amazon-book-marketing',\n    title: 'Amazon Book Marketing',\n    img: AmznMarketing,\n  },\n  {\n    path: '/marketing-guide/guerilla-book-marketing',\n    title: 'Guerilla Book Marketing',\n    img: GuerillaBookMarketing,\n  },\n  {\n    path: '/marketing-guide/social-media-book-marketing',\n    title: 'Social Media Book Marketing',\n    img: SocialMedia,\n  },\n  {\n    path: '/marketing-guide/book-marketing-checklist',\n    title: 'Book Marketing Checklist',\n    img: MarketingChecklist,\n  },\n  {\n    path: '/marketing-guide/book-promotion-ideas',\n    title: 'Book Promotion Ideas',\n    sidebarTitle: 'More Book Promotion Ideas',\n    img: MoreIdeas,\n  },\n  {\n    path: '/marketing-guide/book-review-services',\n    title: 'Book Review Services',\n    img: BookReview,\n  },\n  {\n    path: '/best-book-promotion-sites',\n    title: 'Book Promotion Services',\n    img: '',\n  },\n];\n\nexport default sections;\n","// src/components/Sidebar.js\nimport PropTypes from 'prop-types';\n\nimport React from 'react';\nimport {\n  Drawer,\n  List,\n  ListItem,\n  ListItemButton,\n  ListItemText,\n  Toolbar,\n} from '@mui/material';\nimport { Link, useLocation } from 'react-router-dom';\n\nimport sections from './sections';\n\ninterface SidebarProps {\n  drawerWidth: number;\n  mobileOpen: boolean;\n  handleDrawerToggle: () => void;\n}\n\nconst Sidebar: React.FC<SidebarProps> = function ({ drawerWidth, mobileOpen, handleDrawerToggle }) {\n  const location = useLocation();\n\n  const drawerContent = (\n    <div>\n      <Toolbar />\n      <List sx={{ mt: 2 }}>\n        {sections.map((section) => {\n          const isActive = location.pathname === section.path;\n\n          return (\n            <ListItem key={section.path} disablePadding>\n              <ListItemButton\n                component={Link}\n                dense\n                to={section.path}\n                sx={{\n                  textDecoration: 'none',\n                  color: isActive ? 'primary.main' : 'text.primary',\n                  '&:hover': {\n                    backgroundColor: 'action.hover',\n                  },\n                  backgroundColor: isActive ? 'action.selected' : 'transparent',\n                }}\n                onClick={handleDrawerToggle} // Close drawer on item click (mobile)\n              >\n                <ListItemText\n                  primary={section.sidebarTitle || section.title}\n                  primaryTypographyProps={{\n                    sx: {\n                      fontWeight: section.bold ? 'bold' : 'normal',\n                      paddingLeft: section.bold ? 0 : 2,\n                    },\n                  }}\n                />\n              </ListItemButton>\n            </ListItem>\n          );\n        })}\n      </List>\n    </div>\n  );\n\n  return (\n    <>\n      {/* Temporary drawer for mobile */}\n      <Drawer\n        variant=\"temporary\"\n        open={mobileOpen}\n        onClose={handleDrawerToggle}\n        ModalProps={{\n          keepMounted: true, // Better open performance on mobile.\n        }}\n        sx={{\n          display: { xs: 'block', sm: 'none' },\n          '& .MuiDrawer-paper': {\n            boxSizing: 'border-box',\n            width: drawerWidth,\n          },\n        }}\n      >\n        {drawerContent}\n      </Drawer>\n\n      {/* Permanent drawer for desktop */}\n      <Drawer\n        variant=\"permanent\"\n        sx={{\n          display: { xs: 'none', sm: 'block' },\n          '& .MuiDrawer-paper': {\n            boxSizing: 'border-box',\n            width: drawerWidth,\n          },\n        }}\n      >\n        {drawerContent}\n      </Drawer>\n    </>\n  );\n};\n\nSidebar.propTypes = {\n  drawerWidth: PropTypes.number.isRequired,\n  mobileOpen: PropTypes.bool.isRequired,\n  handleDrawerToggle: PropTypes.func.isRequired,\n};\n\nexport default Sidebar;\n","import React from 'react';\nimport { Typography } from '@mui/material';\n\nconst BookMarketingSeries = function() {\n  return (\n    <Typography color=\"text.secondary\" variant=\"body1\" sx={{ fontStyle: 'italic', borderLeft: '2px solid', borderColor: '#7fd7ff', pl: 1 }}>\n      This post is part of our book marketing mastery series.\n    </Typography>\n  );\n};\n\nexport default BookMarketingSeries;\n","// src/components/Layout.tsx\nimport React, { useState, ReactNode } from 'react';\nimport { Box, Button, Typography, Alert } from '@mui/material';\nimport { useLocation } from 'react-router-dom';\nimport ArrowBackIcon from '@mui/icons-material/ArrowBack';\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\nimport MuiRouterLink from '../../../components/mui-wrappers/MuiRouterLink';\nimport Sidebar from './Sidebar';\nimport sections from './sections';\nimport Helmet from '../../../components/meta/Helmet';\nimport BookMarketingSeries from './BookMarketingSeries';\n\nconst drawerWidth = 240;\n\ninterface GuideLayoutProps {\n  children: ReactNode;\n}\n\nfunction GuideLayout({ children }: GuideLayoutProps) {\n  const [mobileOpen, setMobileOpen] = useState(false);\n\n  const handleDrawerToggle = () => {\n    setMobileOpen(!mobileOpen);\n  };\n\n  const location = useLocation();\n  const currentPath = location.pathname;\n\n  const currentIndex = sections.findIndex((section) => section.path === currentPath);\n  const currentSection = sections[currentIndex];\n  const prevSection = currentIndex > 0 ? sections[currentIndex - 1] : null;\n  const nextSection =\n    currentIndex >= 0 && currentIndex < sections.length - 1 ? sections[currentIndex + 1] : null;\n\n  return (\n    <Box sx={{ display: 'flex' }}>\n      <Sidebar\n        drawerWidth={drawerWidth}\n        mobileOpen={mobileOpen}\n        handleDrawerToggle={handleDrawerToggle}\n      />\n\n      {/* Main Content */}\n      <Box\n        component=\"main\"\n        sx={{\n          pb: 3,\n          px: 3,\n        }}\n      >\n        <Box\n          sx={{\n            marginLeft: { md: `${drawerWidth}px` },\n            '& p': { lineHeight: 1.75, mb: 2, fontSize: '18px' },\n            '& h1': { fontSize: '2.5rem', fontWeight: 700, mb: 1 },\n            '& h3': { fontSize: '1.75rem', fontWeight: 700, mt: 3, mb: 2 },\n            '& h5': { fontSize: '1.25rem', fontWeight: 700, mt: 3, mb: 2 },\n            '& li': { mb: 1 },\n          }}\n        >\n          <Helmet\n            metaContent={{\n              title: `${currentSection.title} - BookRaid`,\n              url: `https://bookraid.com/${currentSection.path}`,\n            }}\n          />\n\n          <Typography variant=\"h4\" component=\"h1\" sx={{ mb: 2 }}>\n            {currentSection.title}\n          </Typography>\n          \n          <BookMarketingSeries />\n\n          <Box sx={{ mt: 4, mb: 2 }}>\n            <img src={currentSection.img} alt={currentSection.title} style={{ width: '100%' }} />\n          </Box>\n\n          {children}\n\n          <Alert severity=\"info\" sx={{ my: 2 }}>\n            Ready to promote your book? We&apos;ve got <b>50,000 readers</b> in our newsletter who would love to read it. Get started <MuiRouterLink to=\"/partners\">here</MuiRouterLink>.\n          </Alert>\n\n          {/* Navigation Buttons */}\n          <Box\n            sx={{\n              display: 'flex',\n              gap: 4,\n              justifyContent:\n                // eslint-disable-next-line no-nested-ternary\n                prevSection && nextSection\n                  ? 'space-between'\n                  : prevSection\n                  ? 'flex-start'\n                  : 'flex-end',\n              mt: 4,\n            }}\n          >\n            {prevSection && (\n              <Button\n                component={MuiRouterLink}\n                to={prevSection.path}\n                variant=\"outlined\"\n                color=\"secondary\"\n                sx={{\n                  width: '50%',\n                  textAlign: 'left',\n                  justifyContent: 'flex-start',\n                  display: 'flex',\n                  alignItems: 'center',\n                }}\n              >\n                <ArrowBackIcon sx={{ mr: 1 }} />\n                <Box sx={{ textAlign: 'left' }}>\n                  <Typography variant=\"subtitle1\" sx={{ fontWeight: 700 }}>{prevSection.title}</Typography>\n                  <Typography variant=\"caption\" sx={{ fontStyle: 'italic' }}>\n                    Previous\n                  </Typography>\n                </Box>\n              </Button>\n            )}\n\n            {nextSection && (\n              <Button\n                component={MuiRouterLink}\n                to={nextSection.path}\n                variant=\"outlined\"\n                color=\"secondary\"\n                sx={{\n                  width: '50%',\n                  textAlign: 'right',\n                  justifyContent: 'flex-end',\n                  display: 'flex',\n                  alignItems: 'center',\n                }}\n              >\n                <Box sx={{ textAlign: 'right' }}>\n                  <Typography variant=\"subtitle1\" sx={{ fontWeight: 700 }}>{nextSection.title}</Typography>\n                  <Typography variant=\"caption\" sx={{ fontStyle: 'italic' }}>\n                    Next\n                  </Typography>\n                </Box>\n                <ArrowForwardIcon sx={{ ml: 1 }} />\n              </Button>\n            )}\n          </Box>\n        </Box>\n      </Box>\n    </Box>\n  );\n}\n\nexport default GuideLayout;\n","/* eslint-disable react/no-unescaped-entities */\nimport React from 'react';\nimport { Typography, Box, Button } from '@mui/material';\nimport { Link as MuiRouterLink } from 'react-router-dom';\n\nconst PartnerAdvert = function() {\n  return (\n    <Box sx={{  backgroundColor: '#d6f2ff', p: 3, borderRadius: '0.5rem' }}>\n        <Box>\n          <Typography variant=\"h6\" sx={{ fontWeight: 700 }}>\n            Promote Your Book\n          </Typography>\n          <Typography>\n            We've got 50,000+ readers who would love to read your book. Partner with us to promote your book to our audience.\n          </Typography>\n        </Box>\n        <Button variant=\"contained\" color=\"secondary\" size='large' sx={{ flexShrink: 0 }} component={MuiRouterLink} to=\"/partners\">Find Out More</Button>\n    </Box>\n  );\n};\n\nexport default PartnerAdvert;\n\n"],"names":["Helmet","metaContent","schema","title","url","description","ogImage","currentOgImage","height","property","content","rel","href","type","JSON","stringify","map","sch","defaultProps","sx","mb","variant","path","bold","img","BookLaunch","HowToPromote","MarketingStrat","AmznMarketing","GuerillaBookMarketing","MarketingChecklist","sidebarTitle","MoreIdeas","BookReview","drawerWidth","mobileOpen","handleDrawerToggle","location","useLocation","drawerContent","Toolbar","List","mt","sections","section","isActive","pathname","ListItem","disablePadding","ListItemButton","component","Link","dense","to","textDecoration","color","backgroundColor","onClick","ListItemText","primary","primaryTypographyProps","fontWeight","paddingLeft","Drawer","open","onClose","ModalProps","keepMounted","display","xs","sm","boxSizing","width","Typography","fontStyle","borderLeft","borderColor","pl","children","useState","setMobileOpen","currentPath","currentIndex","currentSection","prevSection","nextSection","Box","pb","px","marginLeft","md","lineHeight","fontSize","src","alt","style","Alert","severity","my","MuiRouterLink","gap","justifyContent","Button","textAlign","alignItems","ArrowBack","mr","ArrowForward","ml","p","borderRadius","size","flexShrink"],"sourceRoot":""}