diff --git a/src/main/java/ru/ulstu/is/labwork/Lab4/mvc/Feed.java b/src/main/java/ru/ulstu/is/labwork/Lab4/mvc/Feed.java
index 2698c68..36d731d 100644
--- a/src/main/java/ru/ulstu/is/labwork/Lab4/mvc/Feed.java
+++ b/src/main/java/ru/ulstu/is/labwork/Lab4/mvc/Feed.java
@@ -29,33 +29,18 @@ public class Feed {
     }
 
     @GetMapping
-    public String getPosts(@RequestParam(required = false) String search, HttpServletRequest request, HttpSession session, Model model) {
+    public String getPosts(@RequestParam(required = false) String search,
+                           HttpServletRequest request,
+                           HttpSession session,
+                           @RequestParam(defaultValue = "0") int page,
+                           @RequestParam(defaultValue = "5") int size,
+                           Model model) {
         model.addAttribute("request", request);
         model.addAttribute("session", session);
         if (search == null) {
             model.addAttribute("posts", postService.findAllPosts().stream().map(PostDto::new).toList());
         } else {
-            var posts = new ArrayList<>(postService.searchPosts(search));
-            var comments = commentService.searchComments(search);
-            for (var post: posts) {
-                post.getComments().clear();
-            }
-            for (var comment: comments) {
-                boolean found = false;
-                for (var post: posts) {
-                    if (Objects.equals(comment.getPost().getId(), post.getId())) {
-                        post.getComments().add(comment);
-                        found = true;
-                        break;
-                    }
-                }
-                if (!found) {
-                    var newPost = comment.getPost();
-                    newPost.getComments().clear();
-                    newPost.getComments().add(comment);
-                    posts.add(newPost);
-                }
-            }
+            var posts = postService.searchPosts(page, size, search);
             model.addAttribute("posts", posts.stream().map(PostDto::new).toList());
         }
         model.addAttribute("customers", customerService.findAllCustomers().stream().map(CustomerDto::new).toList());
diff --git a/src/main/java/ru/ulstu/is/labwork/Lab4/repositories/CommentRepository.java b/src/main/java/ru/ulstu/is/labwork/Lab4/repositories/CommentRepository.java
index 701ebeb..5198093 100644
--- a/src/main/java/ru/ulstu/is/labwork/Lab4/repositories/CommentRepository.java
+++ b/src/main/java/ru/ulstu/is/labwork/Lab4/repositories/CommentRepository.java
@@ -1,5 +1,7 @@
 package ru.ulstu.is.labwork.Lab4.repositories;
 
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
 import ru.ulstu.is.labwork.Lab4.model.Comment;
 import org.springframework.data.jpa.repository.Query;
@@ -11,5 +13,5 @@ import java.util.List;
 
 public interface CommentRepository extends JpaRepository<Comment, Long> {
     @Query("SELECT DISTINCT c FROM Comment c WHERE c.content LIKE %:tag%")
-    List<Comment> searchComments(@Param("tag") String tag);
+    Page<Comment> searchComments(@Param("tag") String tag, Pageable pageable);
 }
\ No newline at end of file
diff --git a/src/main/java/ru/ulstu/is/labwork/Lab4/repositories/PostRepository.java b/src/main/java/ru/ulstu/is/labwork/Lab4/repositories/PostRepository.java
index dac2360..9fd26c0 100644
--- a/src/main/java/ru/ulstu/is/labwork/Lab4/repositories/PostRepository.java
+++ b/src/main/java/ru/ulstu/is/labwork/Lab4/repositories/PostRepository.java
@@ -1,5 +1,7 @@
 package ru.ulstu.is.labwork.Lab4.repositories;
 
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
 import ru.ulstu.is.labwork.Lab4.model.Post;
@@ -7,9 +9,11 @@ import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
-import java.util.List;
-
 public interface PostRepository extends JpaRepository<Post, Long> {
+    //@Query("SELECT DISTINCT p FROM Post p WHERE p.title LIKE %:tag% OR p.content LIKE %:tag%")
+    //List<Post> searchPosts(@Param("tag") String tag);
     @Query("SELECT DISTINCT p FROM Post p WHERE p.title LIKE %:tag% OR p.content LIKE %:tag%")
-    List<Post> searchPosts(@Param("tag") String tag);
+    Page<Post> searchPosts(@Param("tag") String tag, Pageable pageable);
+
+    //Page<Post> findDistinctByContentOrTitleLikeIgnoreCase
 }
diff --git a/src/main/java/ru/ulstu/is/labwork/Lab4/services/CommentService.java b/src/main/java/ru/ulstu/is/labwork/Lab4/services/CommentService.java
index 2814a2a..62c7bdc 100644
--- a/src/main/java/ru/ulstu/is/labwork/Lab4/services/CommentService.java
+++ b/src/main/java/ru/ulstu/is/labwork/Lab4/services/CommentService.java
@@ -1,6 +1,7 @@
 package ru.ulstu.is.labwork.Lab4.services;
 import jakarta.persistence.EntityNotFoundException;
 import jakarta.transaction.Transactional;
+import org.springframework.data.domain.PageRequest;
 import ru.ulstu.is.labwork.Lab4.model.Comment;
 import ru.ulstu.is.labwork.Lab4.model.Customer;
 import ru.ulstu.is.labwork.Lab4.model.Post;
@@ -20,10 +21,10 @@ public class CommentService {
         this.commentRepository = commentRepository;
     }
 
-    @jakarta.transaction.Transactional
-    public List<Comment> searchComments(String tag) {
-        return commentRepository.searchComments(tag);
-    }
+    //@jakarta.transaction.Transactional
+    //public List<Comment> searchComments(String tag) {
+    //    return commentRepository.searchComments(tag, PageRequest.of(0,10)).stream().toList();
+    //}
 
 
     @Transactional
diff --git a/src/main/java/ru/ulstu/is/labwork/Lab4/services/PostService.java b/src/main/java/ru/ulstu/is/labwork/Lab4/services/PostService.java
index 5b05229..b343497 100644
--- a/src/main/java/ru/ulstu/is/labwork/Lab4/services/PostService.java
+++ b/src/main/java/ru/ulstu/is/labwork/Lab4/services/PostService.java
@@ -2,6 +2,9 @@ package ru.ulstu.is.labwork.Lab4.services;
 
 import jakarta.persistence.EntityNotFoundException;
 import jakarta.transaction.Transactional;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import ru.ulstu.is.labwork.Lab4.DTO.PostDto;
 import ru.ulstu.is.labwork.Lab4.model.Comment;
 import ru.ulstu.is.labwork.Lab4.model.Customer;
 import ru.ulstu.is.labwork.Lab4.model.Post;
@@ -10,19 +13,45 @@ import org.springframework.util.StringUtils;
 import ru.ulstu.is.labwork.Lab4.repositories.CommentRepository;
 import ru.ulstu.is.labwork.Lab4.repositories.PostRepository;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.Optional;
 
 @Service
 public class PostService {
     private final PostRepository postRepository;
+    private final CommentRepository commentRepository;
 
-    public PostService(PostRepository postRepository) {
+    public PostService(PostRepository postRepository, CommentRepository commentRepository) {
         this.postRepository = postRepository;
+        this.commentRepository = commentRepository;
     }
     @Transactional
-    public List<Post> searchPosts(String tag) {
-        return postRepository.searchPosts(tag);
+    public List<Post> searchPosts(int page, int size, String tag) {
+        //var posts = postRepository.searchPosts(tag);
+        var posts = new ArrayList<>(postRepository.searchPosts(tag, PageRequest.of(page, size)).getContent().stream().toList());
+        var comments = new ArrayList<>(commentRepository.searchComments(tag, PageRequest.of(page, size)).getContent().stream().toList());
+        for (var post: posts) {
+            post.getComments().clear();
+        }
+        for (var comment: comments) {
+            boolean found = false;
+            for (var post: posts) {
+                if (Objects.equals(comment.getPost().getId(), post.getId())) {
+                    post.getComments().add(comment);
+                    found = true;
+                    break;
+                }
+            }
+            if (!found) {
+                var newPost = comment.getPost();
+                newPost.getComments().clear();
+                newPost.getComments().add(comment);
+                posts.add(newPost);
+            }
+        }
+        return posts;
     }
 
     @Transactional
diff --git a/src/main/resources/templates/default.html b/src/main/resources/templates/default.html
index e3eaa1d..6ed2ced 100644
--- a/src/main/resources/templates/default.html
+++ b/src/main/resources/templates/default.html
@@ -7,13 +7,13 @@
         <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
         <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
         <link rel="stylesheet" href="https://unpkg.com/chota@latest">
-        <title>LabWork04 - Social Network</title>
+        <title>LabWork05 - Social Network</title>
     </head>
     <body class="container">
         <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>
         <div>
             <div>
-                <p class='text-center m-3 h3'>LabWork04 - Social Network</p>
+                <p class='text-center m-3 h3'>LabWork05 - Social Network</p>
             </div>
             <div class="nav row">
                 <div class="nav-left col-4" th:with="activeLink=${request.requestURI}">